Удалить окончание из URL с помощью .htaccess - PullRequest
0 голосов
/ 07 сентября 2018

Я хотел бы удалить все окончания некоторых URL-адресов, которые мы используем на нашем веб-сайте. По некоторым причинам многие URL индексируются, даже если они заблокированы robot.txt

Только что проверил консоль поиска Google сегодня "проиндексировано, хотя заблокировано robots.txt" - более 1200 URL-адресов

они все в одной форме

https://www.ifootpath.com/display-ifootpath-walk?walkID=11470&username

и они должны быть

https://www.ifootpath.com/display-ifootpath-walk?walkID=11470

конечный номер будет меняться для каждого URL (путеводитель), поэтому я думаю, что я просто хотел бы удалить '& username'

Спасибо

1 Ответ

0 голосов
/ 08 сентября 2018

Как уже упоминалось в комментариях к вопросу, вам нужно сделать два шага здесь:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^walkID=(\d+)&
RewriteRule ^/?display-ifootpath-walk$ /display-ifootpath-walk/%1 [R=301]

RewriteRule ^/?display-ifootpath-walk/(\d+)$ /display-ifootpath-walk?walkID=$1 [END]

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

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

Если вы получаете статус http 500 («внутренняя ошибка сервера») с этими правилами, то есть вероятность, что вы используете очень старую версию http-сервера apache. В этом случае попробуйте заменить флаг [END] на [L].


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

...