Мы наблюдаем странную вещь, когда боты отправляют странные URL-адреса. Они добавляют URL-адрес Alexa в URL-адрес, который у нас есть. Мы хотим удалить эту часть URL-адреса, чтобы в нем было все до добавления нечетного URL-адреса.
Итак, мы хотим перейти от
www.example.com/search/Linux/page/6/”http:/www.alexa.com/siteinfo/www.example.com“/page/900
к
www.example.com/search/Linux/page/6/
удаление: ”http:/www.alexa.com/siteinfo/www.example.com“/page/900
Из-за того, что в нем есть кавычки, мы не уверены, какое правило htaccess будет работать для перезаписи URL-адреса, но я открыт для предложений.
Как лучше всего заблокировать такой запрос? Так как это бот Google, который отправляет их.
Как ваш сайт в настоящее время отвечает на такие запросы? Проиндексированы ли эти URL-адреса в Google или сайт просто сканирует робот Googlebot? Вы уверены, что с внутренними ссылками на вашем сайте все в порядке? (Откуда Google вообще взял эти URL-адреса?) Если с вашими внутренними ссылками возникла ошибка, вам следует исправить/перенаправить запрос, а не блокировать его. (А также исправить ссылки.)
Уточните, пожалуйста, символы "кавычек", которые вы получаете в запросе. Кавычки в вашем вопросе не являются «двойной кавычкой» стандартный.
Не уверен, откуда приходят запросы, вижу их только на нашем мониторе 404. Я посмотрел на сайте и нигде не вижу. Такое впечатление, что оно исходит из внешнего источника.
Not sure where the requests are coming from, only see them with our 404 monitor.
Если эти запросы вызывают ошибку 404 (как и должно быть), то вы, по сути, уже «блокируете» такие запросы — они не будут непреднамеренно проиндексированы поисковыми системами.
Однако, если третья сторона ошибочно связывается с вами по этим ошибочным ссылкам, вы мощь теряете трафик. Вы можете перенаправить, чтобы удалить ошибочную часть URL-адреса.
Due to it having the quotes, we I am unsure what htaccess rule would work to rewrite the URL, but am open to suggestions.
В сопоставлении кавычек в URL нет ничего особенного. Однако кавычки, используемые в вашем вопросе, не являются «стандартными» двойными кавычками. Начальная кавычка - «U + 201D: ПРАВАЯ ДВОЙНАЯ КАвычка», а закрывающаяся - «U + 201C: ЛЕВАЯ ДВОЙНАЯ КАвычка». Это не проблема, мы можем проверить все три.
Например, используя mod_rewrite в верхней части файла .htaccess
, чтобы удалить часть URL-адреса, начиная с первого символа кавычки:
RewriteEngine On
# Remove everything from the first double quote onwards
RewriteRule ^([^"”“]+)["”“] /$1 [R=301,L]
Обратная ссылка $1
содержит часть URL-пути до — первый символ двойной кавычки.
Исходная строка запроса (если есть) сохраняется.
Сначала проверьте с 302 (временной) переадресацией, чтобы избежать потенциальных проблем с кэшированием.
В качестве альтернативы, если ваши URL-адреса ограничены известным подмножеством символов, например. a-z
, A-Z
, 0-9
, _
(подчеркивание), -
(дефис), /
(косая черта — разделитель путей), затем вместо этого проверьте допустимые символы. Например:
# Remove everything from the first "invalid character"
RewriteRule ^([\w-/]+)[^\w-/] /$1 [R=301,L]
Почему вы хотите «исправить» эти URL-адреса? Просто блокируйте эти запросы, и все в порядке.