Вопрос по .htaccess

K6
На сайте с 27.05.2010
Offline
78
388

Ситуация такая. Все файлы с расширением .php, но все ссылки на сайте (меню и т.д.) ссылаются на страницы с расширением .html

Соответственно были дубли страниц, т.е. страницы открывались и site.ru/index.html и site.ru/index.php

Как следствие сайт периодически вылетал из индекса. Проблему решил 301 редиректом, вот так:

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^www.megen-energo.ru$ [NC]

RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteCond %{ENV:REDIRECT_WasHTML} !^yes$

RewriteRule ^(.*)\.php http://site.ru/$1.html [R=301,L,E=WasPHP:yes]

RewriteCond %{ENV:REDIRECT_WasPHP} !^yes$

RewriteRule ^(.*)\.html $1.php [QSA,L,E=WasHTML:yes]

Проблема таким образом решилась, но теперь стоит другая проблема, если набрать site.ru/index.html2 или site.ru/index.htmlsdfsdf то страница открывается, а мне нужно чтоб была 404 ошибка, т.е. с php на html был редирект, но при этом .php2 и html2, htmlwwrewr и т.д. выдавали 404 ошибку

K6
На сайте с 27.05.2010
Offline
78
#1

Мде...судя по всему мало кто знает htaccess...

C
На сайте с 04.02.2005
Offline
291
#2

RewriteRule ^(.*)\.html$

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий