Удалить строку кавычек из URL с помощью HTACCESS

Мы наблюдаем странную вещь, когда боты отправляют странные 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-адреса, но я открыт для предложений.

Почему вы хотите «исправить» эти URL-адреса? Просто блокируйте эти запросы, и все в порядке.

arkascha 03.05.2022 18:24

Как лучше всего заблокировать такой запрос? Так как это бот Google, который отправляет их.

Bfrye26 03.05.2022 18:30

Как ваш сайт в настоящее время отвечает на такие запросы? Проиндексированы ли эти URL-адреса в Google или сайт просто сканирует робот Googlebot? Вы уверены, что с внутренними ссылками на вашем сайте все в порядке? (Откуда Google вообще взял эти URL-адреса?) Если с вашими внутренними ссылками возникла ошибка, вам следует исправить/перенаправить запрос, а не блокировать его. (А также исправить ссылки.)

MrWhite 03.05.2022 18:39

Уточните, пожалуйста, символы "кавычек", которые вы получаете в запросе. Кавычки в вашем вопросе не являются «двойной кавычкой» стандартный.

MrWhite 03.05.2022 18:47

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

Bfrye26 03.05.2022 18:49
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
5
19
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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]

Другие вопросы по теме