mod_rewrite не удалит расширения файлов с другим правилом перезаписи - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть следующий mod_rewrite в моем файле .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z]+)$ index.php?ID=$1 [QSA,NC,L,R]

Приведенный выше код работает, но проблема в том, что некоторые страницы моего сайта ссылаются на файлы без расширений, поскольку наш оригинальный файл .htaccess удаленвсе расширения от каждого запроса.Мой сайт построен на PHP.В конечном итоге я хочу использовать приведенные выше правила в точности так, как есть, но в конце всего этого я хочу удалить расширение файла (.php) из каждого запроса.

Возможно ли это?

1 Ответ

1 голос
/ 24 февраля 2011

Попробуйте это

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !^index.php
RewriteRule ^(.*)\.php$ $1 [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z]+)$ index.php?ID=$1 [QSA,NC,L,R]
...