przepisz nazwę folderu używając.htaccess
Zastanawiam się, czy możliwe jest użycie .htaccess
do przepisania nazwy folderu.
Chodzi mi o to.
Powiedzmy, że mam adres URL:
www.site.com/folder1/page.php
Teraz chcę przepisać adres url do (na przykład)
www.site.com/apple/page.php
Folder1 jest istniejącym folderem w mojej przestrzeni Web.
Ważne: "apple" nie jest folderem, a tylko nazwą!
Ok oto plan krok po kroku:
- typy użytkowników
www.site.com/folder1/login.php
- url powinien przepisywać a nie przekierowanie adresu url do
www.site.com/apple/login.php
Oznacza to, że apple
jest tylko nazwą, a nie katalogiem. Cały kod powinien pochodzić z folder1. Acutally apple powinno być tylko aliasem dla folder1
. Nie mogę zmienić nazwy folder1
na Apple
. Dlatego po prostu przepisałbym folder1
na apple
.
2 answers
Mod_rewrite może tylko przepisać / przekierować żądane Uri. Musisz więc poprosić /apple/…
o przepisanie go na odpowiedni /folder1/…
.
Spróbuj tego:
RewriteEngine on
RewriteRule ^apple/(.*) folder1/$1
Ta reguła zmieni każde żądanie, które zaczyna się od ścieżki URI /apple/…
wewnętrznie na /folder1/…
.
Edit jak faktycznie szukasz odwrotnie:
RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteRule ^folder1/(.*) /apple/$1 [L,R=301]
Ta reguła jest zaprojektowana do współpracy z innymi powyższymi regułami. Żądania /folder1/…
zostaną przekierowane zewnętrznie do /apple/…
, A żądania /apple/…
będą następnie przepisywane wewnętrznie z powrotem do /folder1/…
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-12 09:05:47
Try:
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
Gdzie folder, który chcesz wyświetlić w adresie url, znajduje się w pierwszej części instrukcji - to jest to, z czym będzie pasował, a druga część "przepisuje" go do istniejącego folderu. flaga [NC] oznacza, że zignoruje różnice wielkości liter, np. Apple / będzie nadal do przodu.
Zobacz tutorial: http://www.sitepoint.com/article/guide-url-rewriting/
Istnieje również ładne narzędzie testowe dla systemu windows, które można pobrać z proszę.: http://www.helicontech.com/download/rxtest.zip dla przypomnienia dla testera należy pominąć nazwę domeny - więc test byłby przeciwko / folder1 / login.php
Aby przekierować z / folder1 do / apple spróbuj tego:
RewriteRule ^/folder1(.*)?$ /apple$1 [R]
Aby przekierować, a następnie przepisać wystarczy połączyć powyższe w pliku htaccess:
RewriteRule ^/folder1(.*)?$ /apple$1 [R]
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-08-12 08:47:51