Задачка с мод_рерайтом

E
На сайте с 08.04.2001
Offline
221
558

Есть у меня страница /faces/face.cfm?id=194 на которую стоит очень мощная ссылка. Но саму страницу я удалил. Теперь хочу весь PR с нее перелить на главную.

В папку faces положил .htaccess с таким содержанием

RewriteEngine On

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

Ну мне так казалость что все должно работать как надо, но редиректит вместо http://www.site.com на http://www.site.com/?id=194

В чем проблема и как ее решить?

Shtogrin
На сайте с 02.11.2006
Offline
95
#1

RewriteEngine On

RewriteRule .* http://www.site.com/? [L,R=301]

Обратите внимание на ?.

www.shtogrin.com (http://www.shtogrin.com/). Канцтовары (http://www.invit.com.ua/). 1С Бухгалтерия (http://account.kiev.ua/).
E
На сайте с 08.04.2001
Offline
221
#2

Респект! заработало :)

K
На сайте с 31.01.2001
Offline
737
#3

А не будет побочных эффектов в редиректе всех остальных страниц папки faces, которые начинаются на "?" ?

Ergo:
Есть у меня страница /faces/face.cfm?id=194 на которую стоит очень мощная ссылка. Но саму страницу я удалил. Теперь хочу весь PR с нее перелить на главную.

Если страница 1 или 10 (не 1000), я обычно обхожусь без mod_rewrite в основном .htaccess:

RedirectPermanent faces/face.cfm?id=194 http://www.site.ru

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
E
На сайте с 08.04.2001
Offline
221
#4
Kost:
А не будет побочных эффектов в редиректе всех остальных страниц папки faces, которые начинаются на "?" ?

Ну это будет не побочный эффект а искомый результат в моем случае :) А так конечно все будут редиректиться. Останется только посмотреть как гугл к этому отнесется.

Shtogrin
На сайте с 02.11.2006
Offline
95
#5

Насчет "?". Давно меня мучал вопрос, как убрать QUERY_STRING из строки подстановки. Увидев эту тему еще раз перечитал доку и обнаружил "When you want to erase an existing query string, end the substitution string with just a question mark". http://httpd.apache.org/docs/2.0/ru/mod/mod_rewrite.html

E
На сайте с 08.04.2001
Offline
221
#6
Shtogrin:
Насчет "?". Давно меня мучал вопрос, как убрать QUERY_STRING из строки подстановки. Увидев эту тему еще раз перечитал доку и обнаружил "When you want to erase an existing query string, end the substitution string with just a question mark".

Я честно просматривал этот мануал. Минут 20 его изучал. Но читал выборочно, а не все подряд. Вот и пропустил эту замаскированую строку :)

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