Что не так с этим перенаправлением htaccess? - PullRequest
0 голосов
/ 17 июня 2009

Я недавно превратил старый сайт Joomla в сайт Wordpress, и я хочу перенаправить старые URL-адреса на правильные новые. Для начала я попытался перенаправить их всех на домашнюю страницу, но даже это не сработало.

Все старые URL-адреса выглядят как website.com/?q=node/1 (или иногда? Q = user / etc), поэтому я подумал, что этого будет достаточно:

RewriteCond %{QUERY_STRING} ^q=(.*)
RewriteRule . /home/ [R=301]

Почему это не работает?

Ответы [ 3 ]

2 голосов
/ 17 июня 2009

[РЕДАКТИРОВАТЬ - ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ - см. Комментарии]

RewriteCond %{QUERY_STRING} q=
RewriteRule (.*) lexlijst.nl/$1? [L,R=301]
0 голосов
/ 17 июня 2009

Вы можете отлаживать подобные вещи, добавив строку RewriteLog.Я подозреваю, что ваша линия RewriteRule является виновником, хотя.Это должно быть что-то вроде:

 RewriteRule .* /home/ [R=301]
0 голосов
/ 17 июня 2009

Вы включили механизм перезаписи? Вы должны включить его в httpd.conf AND на всех виртуальных хостах, так как директивы не наследуются. Справка: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteEngine

RewriteEngine On

RewriteCond %{QUERY_STRING} ^q=(.*)

RewriteRule . /home/ [R=301]
...