2016-09-07 5 views
2

настоящее время я использую:Перенаправление все HTML-страницы, кроме главной страницы в PHP версии

RewriteEngine On 
RedirectMatch 301 (.*)\.html$ $1.php 

Это работает нормально, но проблема заключается в том, что http://www.example.com перенаправляет http://www.example.com/index.php. Как я могу запретить перенаправление php домашней страницы из-за того, что все остальные страницы перенаправлены?

Например:

www.example.com/page1.html >> www.example.com/page1.php 
www.example.com/page2.html >> www.example.com/page2.php 
www.example.com >> www.example.com (i.e., nothing happpens) 

ответ

1

RedirectMatch не нужно RewriteEngine On линии.

Вы можете использовать это негативное правило опережения:

RedirectMatch 301 ^/(?!index\.)(.+)\.html$ /$1.php 

Убедитесь, чтобы очистить кэш браузера.

+0

Спасибо. Я просто попробовал, но когда я вхожу на www.example.com в своем браузере, он все же перенаправляется на www.example.com/index.php. Я бы хотел, чтобы браузерный браузер оставался следующим: www.example.com – Robert

+0

Попробуйте мое обновленное правило и обязательно очистите кеш браузера. – anubhava

+1

Отлично работает сейчас, спасибо. – Robert

Смежные вопросы