Перенаправление с каталога на страницу через .htaccess

[Удален]
7953

Доброго времени, господа.

Не могу разобраться с .htaccess.

Подскажите, возможно ли оформить через него перенаправление со страницы site.ru/tariffs/ на страницу site.ru/tariffs.html.

Если прописать строку

Redirect 301 /tariffs/ http://site.ru/tariffs.html

то перенаправляет не только страницу каталога, но и все вложенные в него странички (типа: site.ru/tariffs/best.html, и.т.п.).

Как нужно писать?

И еще вопросик. Возможно ли через .htaccess перенаправлять так, чтобы в адресной строке браузера показывало в итоге нормальную строчку site.ru/tariffs.html, без кракозябры типа site.ru/tariffs.html?do=cat&category=tariffs/ , ибо важно, чтобы поисковик никогда не узнал о перенаправляемой страничке.

Пока пытался выкурить матчасть, вычитал, что это возможно при помощи rewriterule. Если что, mod_rewrite у мну включен. За такую подсказку буду особенно благодарен.

RF
На сайте с 26.04.2009
Offline
107
#1

Конкретно эта задача решается так:

RewriteEngine on
RewriteRule ^tariffs/$ tariffs.html [L]

#комментарии:
^ - начало строки адреса
$ - конец строки адреса
[L] - означает, что если это правило сработало, то все следующие применять не следует

Вообще, гуглите именно в сторону mod_rewrite

Второй вопрос сложнее. Там уже надо писать комплект правил, который будет учитывать все возможные внутренние адреса на сайте.

Я в свое время учился таким образом - поставил DLE, включил в админке ЧПУ, открыл .htaccess получившегося сайта и открыл мануал по mod_rewrite и изучал

dma84
На сайте с 21.04.2009
Offline
168
#2
ReFeRy_pf:

RewriteEngine on
RewriteRule ^tariffs/$ tariffs.html [L,R=301]

Иначе произойдёт внутренний редирект

RF
На сайте с 26.04.2009
Offline
107
#3
dma84:
Иначе произойдёт внутренний редирект

Возможно, я не совсем верно понял задачу :)

Для ТС распишу подробнее:

В моем варианте с сайта будет запрошена страница site/tariffs.html но в строке адреса останется site/tariffs/

В исправленном dma84 варианте произойдет именно редирект - изменится и запрашиваемая у движка страница и строка адреса.

[Удален]
#4
RewriteRule ^tariffs/$ tariffs.html [L,R=301]

Ну, тогда уже:

RewriteRule ^tariffs/$ http://site.ru/tariffs.html [R=301,L]

Но это так, для будущих поколений, если вдруг кто найдет тему через поисковик.

А вообще спасибо вам обоим, господа. В итоге получился-таки 301-вый на tariffs.html без кракозябры в адресной строке.

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