Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

RewriteEngine On

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

RewriteRule . /home/ [R=301]

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

 RewriteRule .* /home/ [R=301]
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top