2009-06-17 5 views
0

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

Все старые адреса выглядят website.com/?q=node/1 (или иногда д = пользователь/и т.д.?), Поэтому я решил, что это будет достаточно:

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

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

+0

Что он делает вместо этого? – Martijn

+0

ничего, к сожалению –

ответ

2

[EDIT - окончательное решение - см комментарии]

RewriteCond %{QUERY_STRING} q= 
RewriteRule (.*) lexlijst.nl/$1? [L,R=301] 
+0

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

+0

нет, она обусловлена ​​линией до того, как ваша querystring – Josh

+0

попробуйте просто положить RewriteCond % {QUERY_STRING} q = как условие для удаления строки запроса – Josh

0

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

RewriteEngine On 

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

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

У меня есть, и после этого правила есть некоторые правила WordPress, которые работают нормально. Извините, если я был неполным в своем вопросе. –

0

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

RewriteRule .* /home/ [R=301] 
+0

hmm, без журнала, но со звездочкой добавлено, по крайней мере, я получаю ответ от сервера: 301 документ, в котором страница переместилась на тот же самый URL-адрес, который был первоначально введен (так что с? q = к сожалению): http://www.lexlijst.nl/?q=node/1 –

Смежные вопросы