htaccess 301 redirect - удалить строку запроса (QSA)
Я боролся с некоторыми перенаправлениями htaccess. Я просто потратил некоторое время на чтение и поиск в стеке и не смог получить ответ, который работает с моим сценарием.
Я нахожусь в процессе перенаправления 301 для старого сайта клиента на новый. На старых страницах есть параметры запроса, которые я хочу удалить из URL.
/menu.php?idCategorie=29&idDetail=172
в
/new-website-page/
У меня есть несколько запросов, вот пара примеров:
/menu.php?idCategorie=29&idDetail=172
/menu.php?idCategorie=29&idDetail=182
/menu.php?idCategorie=29&idDetail=184
/menu.php?idCategorie=29&idDetail=256
Которые все ссылаются на разные новые страницы.
Вот что я попробовал:
RewriteCond %{QUERY_STRING} idDetail=172
RewriteRule ^menu.php(.*) /new-page/? [R=301,L]
Я перенаправлен правильно, но URL сохраняет строку запроса:
http://website.com/new-page/?idCategorie=29&idDetail=172
Я также попробовал это:
RewriteRule ^menu.php?idCategorie=29&idDetail=172$ http://website.com/new-page/? [L,R=301]
И это:
RewriteCond %{QUERY_STRING} idDetail=172(.*)$
RewriteRule ^menu.php /new-page-name?$1 [L,R=301]
И это не сработало (все еще есть строка запроса в конце)
Спасибо!