301 редирект, изменить параметр в URL, тот же домен и файл - PullRequest
0 голосов
/ 06 марта 2020

У меня проблема с дубликатом, поэтому мне нужно сделать некоторые перенаправления, я понимаю, что есть параметры, которые мне нужно использовать Query_String, однако, поскольку я не хочу менять страницу, только параметры, я понятия не имею

Мне нужно изменить URL-адрес следующим образом:

    /svenska/utflykter/tur-from.php?trop=trop&ciudad=Marbella&tour=Sevilla

на

    /svenska/utflykter/tur-from.php?ciudad=Marbella&tour=Sevilla

Как видите, я хочу убрать только trop = trop, но не на всех страницах, только на рассматриваемой странице.

Любая идея, которую я искал, спасибо

1 Ответ

1 голос
/ 06 марта 2020

Вероятно, это то, что вы ищете:

RewriteEngine on
RewriteCond %{QUERY_STRING} (?:^|&)ciudad=([^&]+).*&tour=([^&]+)(?:&|$)
RewriteRule ^/?svenska/utflykter/tur-from\.php$ /svenska/utflykter/tur-from.php?ciudad=%1&tour=%2 [R=301,QSD]

Хорошая идея - начать с временного перенаправления 302 и изменить его только на постоянное перенаправление 301 позже, как только вы будете уверены, что все правильно настроен. Это предотвращает проблемы с кешированием при испытаниях ...

Эта реализация будет работать аналогично в конфигурации хоста http-серверов или внутри распределенного файла конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете распределенный файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация была включена вообще в конфигурации хоста и чтобы он находился в папке хоста DOCUMENT_ROOT.

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов, а не использовать распределенные файлы конфигурации (".htaccess"). Эти распределенные файлы конфигурации добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

...