RewriteRule в файле htaccess, перенаправляющий другие URL - PullRequest
0 голосов
/ 09 января 2019

У меня было несколько страниц, которые показывались как неработающие ссылки в консоли поиска Google, одна из которых была ...

https://evolvefitness.co.uk/personal-trainer-london/

... URL-адрес, который существует ... https://evolvefitness.co.uk/locations/personal-trainer-london/ ... так что я добавил это перенаправление в мой файл htaccess ...

RewriteRule ^personal-trainer-london/? https://evolvefitness.co.uk/locations/personal-trainer-london/ [R=301,L]

... это прекрасно работало, однако, когда я посетил страницу, которая включала первую часть перенаправленного URL, она также была перенаправлена ​​...

https://evolvefitness.co.uk/personal-trainer-london-landing/

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

Они тоже сыграют в этом какую-то роль?

RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^evolvefitness.co.uk

Спасибо

1 Ответ

0 голосов
/ 09 января 2019

Я полагаю, это то, что вы ищете:

RewriteRule ^/?personal-trainer-london/?$ https://evolvefitness.co.uk/locations/personal-trainer-london/ [R=301,L]

Конечный $ в соответствующем шаблоне привязывает к концу строки (здесь конец URL). Это означает, что рассматриваются только точные совпадения, а не запросы к URL, где что-то следует этому шаблону.

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

...