Как удалить символы из перенаправленного URL в .htaccess? - PullRequest
0 голосов
/ 11 ноября 2018

Недавно я заметил небольшую проблему в перенаправлении .htaccess, для которой не могу найти исправление. Я перенаправляю тысячи ссылок вида

"example.com/tinc?key=ndommass из случайных символов и т. Д.}"

и переименование их в:

"example.com/search.php"

Следующая команда .htaccess работает нормально:

"RedirectMatch 301 ^/tinc.*$ example.com/search.php"

... за исключением того, что я только что понял, что на самом деле делает, это отправляет пользователя на

example.com / search.php? Key = {масса случайных символов и т. Д.}

Я думал , что скрипт .htaccess направил пользователя на новый конкретный URL, но на самом деле он просто заменяет первую часть исходного URL новым.

Поскольку search.php просто отвечает правильным ответом, что он не может найти совпадение со строкой, это не катастрофично, но не очень красиво в адресной строке, и я бы хотел, чтобы он работал правильно только для себя удовлетворение.

Итак - кто-нибудь может посоветовать, как перенаправить таким образом, что теряется случайная строка символов в конце, пожалуйста? Спасибо!

1 Ответ

0 голосов
/ 14 ноября 2018

Я не вижу, в чем проблема, но может помочь более ясное определение нескольких правил:

RedirectMatch 301 ^example.com/tinc$ example.com/search.php
RedirectMatch 301 ^example.com/tinc\?key=.*$ example.com/search.php

Если это не сработает, тогда, если ваш единственный параметр GET равен key, вы можете попробовать это RewriteCond.

RewriteCond %{QUERY_STRING} ^key=.*$
RewriteRule ^example.com/tinc$ example.com/search.php [L,R=301]

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...