Próbuję utworzyć czyste adresy URL w mojej witrynie. Teraz udało mi się skonfigurować apache, więc każde żądanie, takie jak mysite.com/page będzie działać. Ale chcę również, aby żądania dotyczące mysite.com/page.php zostaną przekierowane na stronę mysite.com/page. Mam ustawić zmienną środowiskową w .htaccess, aby sprawdzić, czy ja już przekierowany aby zapobiec pętli, ale wciąż je ... Oto .htaccess:Wyczyść przekierowanie adresu URL
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase/
# set the variable
RewriteRule ^$ - [L]
RewriteRule ^(.*)$ $1 [E=REWROTE:0]
# this works fine
# make mysite.com/page work and set REWROTE variable to 1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L,E=REWROTE:1]
# but if i enable this, i get redirected and then stuck in a loop
# redirect mysite.com/page.php to mysite.com/page , but only if REWROTE not 1
#RewriteCond %{ENV:REWROTE} !^1$
#RewriteRule ^(.*)\.php$ $1 [R=301,L]
Dzięki!
Witamy na przepełnienie stosu. Dziękuję za wyraźne sformułowanie Twojego pytania, podanie kodu i pokazanie, co działa, a co nie. Jeśli masz przydatne informacje w dziennikach apache, opublikuj to również. Czasami problemy z przekierowaniem stają się bardziej oczywiste, gdy widzisz dzienniki. –
Niestety nie mam dostępu do tego rodzaju informacji. – oxeleo