Устранение повторяющегося имени каталога в URL-адресе с помощью файла .htaccess - PullRequest
1 голос
/ 09 июля 2020

По какой-то причине я получаю повторяющиеся имена каталогов в некоторых URL-адресах в подпапках на нашем веб-сайте. Кажется, это влияет только на поисковые роботы, поскольку файлы в этом каталоге работают нормально при навигации.

Я хотел бы просто удалить повторяющееся имя каталога и сделать mydomain.com/sub/sub перенаправлением на mydomain.com/sub .

Я пробовал много версий, но мне явно не хватает навыков .htaccess. У меня сейчас (не работает конечно):

RewriteRule ^mydomain.com/sub/sub/(.*) mydomain.com/sub/$1  [L,R=301]

1 Ответ

0 голосов
/ 09 июля 2020
RewriteRule ^mydomain.com/sub/sub/(.*) mydomain.com/sub/$1  [L,R=301]

Шаблон RewriteRule соответствует только URL-пути - вы, похоже, включили (часть) доменного имени. Кроме того, mydomain.com в строке подстановки будет рассматриваться как относительный подкаталог .

Предполагая, что у вас есть ограниченное количество подкаталогов, в которых это происходит, тогда уменьшите /sub/sub/<something> до /sub/<something>, вы бы сделали что-то вроде этого:

RewriteEngine On
RewriteRule ^sub/sub/(.*) /sub/$1  [R=301,L]

Если у вас есть другие директивы в вашем .htaccess файле, тогда это должно быть go вверху.

Первый тест с 302 (временными) перенаправлениями, чтобы избежать потенциальных проблем с кешированием. Перед тестированием очистите кеш браузера.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...