Жесткое перенаправление file.php в / file (когда / file уже перенаправляется в /file.php) - PullRequest
0 голосов
/ 16 августа 2010

Я уже прозрачно перенаправляю запросы на /file на /file.php - при доступе /file показывает /file.php. Мой .htaccess:

RewriteEngine on
RewriteBase /
RewriteRule ^([a-zA-Z]+)/?$ $1.php [L]

Теперь хотел бы сделать жесткое перенаправление для /file.php на /file - если я наберу /file.php, URL в адресной строке должен показать /file. Попробовал следующее, но не сработало:

RewriteEngine on
RewriteBase /
RewriteRule ^([a-zA-Z]+)\.php$ $1 [R]
RewriteRule ^([a-zA-Z]+)/?$ $1.php [L]

Любая помощь?

1 Ответ

0 голосов
/ 16 августа 2010

Вам необходимо выполнить перезапись на основе запроса, отправленного пользователем на сервер. Примерно так должно работать:

RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]+\s/([a-zA-Z]+)\.php
RewriteRule ^([a-zA-Z]+)\.php$ /$1 [R=301,L]

RewriteRule ^([a-zA-Z]+)/?$ $1.php [L]
...