Как в .htaccess убрать .html из адреса для одной страницы

L
На сайте с 13.03.2010
Offline
93
1863

Всем привет. Как в .htaccess убрать .html из адреса только для одной страницы? Пробовал некоторые варианты из старых тем, но не пашет.

Есть страница на голом html в корне. Так вот нужно чтобы она была доступна в виде сайт.ру/страница

А если юзер переходит на /страница.html его рердиректило на /страница

---------- Добавлено 22.11.2015 в 18:16 ----------

В общем сам методом тестов и ошибок сделал.

RewriteCond %{THE_REQUEST}/ ^[A-Z]{3,9}\ /страница\.html\ HTTP/

RewriteRule ^страница\.html http://сайт.ru/страница [R=301,L]

RewriteRule ^страница$ /страница.html [L] - задает, что страницу можно вызывать без расширения html

Хотелось бы услышать мнение экспертов, можно ли так оствавлять или есть способ по лучше?

edogs software
На сайте с 15.12.2005
Offline
775
#1

RewriteCond в принципе избыточен, но в остальном все верно.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
J
На сайте с 20.02.2014
Offline
120
jkm
#2

Без проверки RewriteCond %{THE_REQUEST} будет бесконечный редирект на http://сайт.ru/страница

В контексте VirtualHost проход по списку правил происходит только один раз и флаг [L] полностью останавливает обработку.

В контексте .htaccess флаг [L] останавливает только текущую итерацию, после чего выполняется новый проход по списку правил.

Завершается обработка, когда после очередного прохода не было изменений адреса или был внешний редирект.

http://habrahabr.ru/company/sprinthost/blog/129560/

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