redirectMatch 301 регулярное выражение не работает - PullRequest
0 голосов
/ 29 июля 2011

Я хочу перенаправить http://site.com/home?page=123 http://site.com/home, но следующее правило не работает

redirectMatch 301 ^/home/\?(.*)$ http://www.site.com/

Любая помощь будет оценена.Спасибо

1 Ответ

1 голос
/ 29 июля 2011

К сожалению, директива RedirectMatch не работает со строкой запроса - только с частью пути URL. Для этого вы должны использовать mod_rewrite :

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} =page=123
RewriteRule ^home$ http://www.site.com/? [R=301,L]
  1. Поместите его в .htaccess в корневой папке сайта. При размещении в другом месте может потребоваться некоторая настройка.

  2. Он будет перенаправлять запрос только на /home?page=123. Все остальные запросы (например, /home?page=123&extra=hello) будут игнорироваться.

...