Проблемы с mod_rewrite и перенаправлением 301 с одного динамического URL на другой - PullRequest
0 голосов
/ 25 мая 2010

Привет всем, у меня сейчас самые разные проблемы с кучей перенаправлений apache, и я действительно могу помочь!

Я хочу добавить перенаправление 301 для загрузки URL-адресов со старого сайта клиента на его новый сайт в следующем формате;

Старый - page.php?pageNum_rs_all=0&totalRows_rs_all=112
Новый - page/sub?foo=bar

Значения в строке запроса для старого сайта никоим образом не связаны с какими-либо идентификаторами или ссылками на новом сайте, я только хочу сопоставить этот конкретный запрос и перенаправить на новую страницу.

Такое ощущение, что я перепробовал практически все комбинации переписывания, которые я могу найти в Интернете, но, похоже, ничего не работает. Это работает на Apache 2.2.

Правило, с которого я начал (и продолжаю возвращаться):

RewriteRule ^/page.php\?pageNum_rs_all=0&totalRows_rs_all=112 /page/sub?foo=bar [R=301,L,NE]

Любая помощь будет принята с благодарностью!

с.

Ответы [ 2 ]

0 голосов
/ 25 мая 2010

Я всегда стремился использовать серию из 301 перенаправлений следующим образом

Redirect 301 /oldpage /newpage
0 голосов
/ 25 мая 2010

Причина, по которой это не работает, заключается в том, что RewriteRule не может видеть QueryString. Чтобы попасть в строку запроса, вам нужно использовать RewriteCond. См. http://wiki.apache.org/httpd/RewriteQueryString для примеров того, как это работает.

...