Мне нужен код .htaccess, который будет обрабатывать файлы без расширения в виде файлов PHP.
Предположим, что посетители посещают сайт www.mywebsite.com/dir1/dir2/file.name
, он сначала будет искать файл dir1/dir2/file.name
и если он не существует, он будет искать dir1/dir2/file.name.php
(с расширением .php
).
Это возможно в некотором роде?
Вы можете написать правило перезаписи, которое вступит в силу только в том случае, если запрошенный файл не существует.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !\.php$ RewriteRule ^(.*)$ $1.php [L]
Вы должны взглянуть на директиву Apache, в частности параметр http://httpd.apache.org/docs/2.0/content-negotiation.html, который вы можете включить в свой файл .htaccess
и будете делать именно это.
Добавьте к вашему .htaccess
:
Options +MultiViews
Хорошо, ответ был комбинацией ответов. Мне нужно было добавить Options +MultiViews
в мою конфигурацию Apache. Затем я продюсирую Andrews
на следующее:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ $1.php [L]
С уважением и огромное спасибо! Kevin