Как убрать повторяющиеся слэши в .htaccess?


calamarety
581

Есть проблема с дублирующими страницами с ответом «200».

Уже все перепробывал не чего не помагает, в данные

Как убрать повторяющиеся слэши в .htaccess?

Как убрать повторяющиеся слэши в .htaccess?

Сейчас прописал этот код, тоже не помогает:

RewriteCond %{THE_REQUEST} //

# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteCond %{QUERY_STRING} !http(s|)://
# Убедимся что это не урл в GET
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.


jkm

Ну всё как обычно. Ставили редирект в самый конец файла и ничего не работало.

Редиректы нужно ставить в начало файла.


calamarety

jkm:
Ну всё как обычно. Ставили редирект в самый конец файла и ничего не работало.

Редиректы нужно ставить в начало файла.

Вы правы вот этот стоял в конце.

 RewriteEngine On

RewriteBase /
RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
RewriteRule (.*) /?author= [NC,L,R=301]

перенёс на вверх, но всё равно проблема оталась, сможете помочь?


LEOnidUKG

Я проблемы не вижу.

И что дальше?

https://www.google.com//

https://www.google.com////

https://www.google.com//////

———- Добавлено 27.03.2020 в 20:39 ———-

Так же, у вас на сайте корректный в любом случаи

<link rel=»canonical» href=»https://bavariagid.de/» />


calamarety

LEOnidUKG:
Я проблемы не вижу.





И что дальше?

https://www.google.com//

https://www.google.com////

https://www.google.com//////

———- Добавлено 27.03.2020 в 20:39 ———-

Так же, у вас на сайте корректный в любом случаи

<link rel=»canonical» href=»https://bavariagid.de/» />

Понял, большое спасибо!


suffix

LEOnidUKG:
Я проблемы не вижу

Я тоже но сделать то редирект можно же:

1.

https://bertal.ru/index.php?a7713062/https://www.babai.ru///#h

2.

https://bertal.ru/index.php?a7713065/https://www.babai.ru//#h


D.iK.iJ

У меня на старом хостинге через .htaccess вообще никак не срабатывало.

Сделал просто редирект скриптом. Чтобы люди такие ссылки с ошибкой не копировали дальше.

if (-1 == document.location.pathname.indexOf(‘//’)) {} else {window.location.replace(document.location.pathname.replace(/\/\//, «/»));}


miketomlin

Да, у апача с этим есть определенные проблемы, поэтому обычно используют фильтр (мидлвэа) прямо в скрипте. Пример работы фильтра на стороне сервера: http://g09.ru///Articles///My-First-Article/// (можно посмотреть через тот же bertal; если увидите двойной редирект, это из-за того, что для трэйлинг слешей используется отдельный фильтр в .htaccess и т.п.).

———- Добавлено 28.03.2020 в 12:17 ———-

LEOnidUKG, гоше (яше и т.п.) точно на это пофиг, т.к. «над ними» не стоит гоша (яша и т.п.) 😉

P.S. Вот мне, например, в 99% случаев и каноникл нафиг не нужен.

———- Добавлено 28.03.2020 в 12:23 ———-

calamarety, 1 и 12 – это не дубль. Выкинь свой тестер на помойку.

P.S. Web-сервер может исправлять запросы с пустым адресом (вместо /), но твой тестер по идее такие запросы делать не должен.


богоносец

miketomlin:
1 и 12 – это не дубль. Выкинь свой тестер на помойку.

P.S. Web-сервер может исправлять запросы с пустым адресом (вместо /).

Дубль, который индексатор не отфильтровал – это то, что в индексе…

Для морды ни бот, ни браузер не смогут сделать Get запрос без /

но при попытке добавить

https://yandex.ru/m

https://yandex.ru/m//

https://yandex.ru/m///

индексатор сначала проверяет наличие в индексе таких урлов, но при этом учёт слешей как бы никакой…

хотя можно попытаться добавить https://yandex.ru/m///#!надоЕли-слеши

контент подопытного изменчив.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *