2016-12-07 3 views
1

Я использую это на своем верхнем уровне .htaccess для удаления расширения типа файла PHP в моих * .php-файлах.Удаление расширения типа файла PHP

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Но я обнаружил, что он также запрещает моему браузеру называть страницу index.php в моих подкаталогах. Мне нужно включить /index.php явно в URL.

Есть ли лучший способ удалить расширение типа файла PHP в моих * .php-файлах?

+0

Возможный дубликат [Как я могу использовать .htaccess, чтобы скрыть .php расширения URL?] (HTTP://stackoverflow.com/questions/10028025/how-can-i-use-htaccess-to-hide-php-url-extensions) – Blueblazer172

+0

Как это правило не позволяет вам использовать URL-адрес domain.com/index.php? – anubhava

+0

Извините @anubhava Я не очень хорошо объяснил. Это предотвращает загрузку индексной страницы, если вы перейдете на сайт www.myurl.com/admin/. Мне нужно перейти на сайт www.myurl.com/admin/index.php, чтобы увидеть страницу. –

ответ

1

здесь вы идете:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L] 

или попробовать это. Это также должно работать в пути подкаталоге:

RewriteEngine on 
RewriteRule ^(.*)$ $1.php 

или в if clause

<IfModule mod_rewrite.c> 
    RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] 
</IfModule> 
Смежные вопросы