Что не так с этим перенаправлением htaccess?
-
06-07-2019 - |
Вопрос
Недавно я превратил старый сайт 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]