С предыдущей ошибкой остались плохие ссылки, и я пытаюсь очистить свой беспорядок с 301 RedirectMatch.RedirectMatch 301 для изменения части URL
Правильные URL-адреса являются следующий формат:
http://www.example.com/aaa-directory/page
http://www.example.com/bbb-directory/page
http://www.example.com/ccc-directory/page
(и т.д.)
Но, ранее были плохие ссылки, которые связаны со страницами по адресу:
http://www.example.com/aaa-directory//page
http://www.example.com/bbb-directory//page
http://www.example.com/ccc-directory//page
(двойной обратной косой черты // когда должно быть одиночным /)
Я исправил плохие ссылки, но я все еще получаю extern al и/или сканирование роботов, которые идут на эти плохие URL-адреса.
Я бы хотел использовать RedirectMatch 301 так, чтобы любая ссылка с текстом «-directory//
» будет перенаправлена на ту же ссылку с «-directory/
».
Так, http://www.example.com/ccc-directory//page
будет перенаправлен на: http://www.example.com/ccc-directory/page
я борюсь с синтаксисом. Любая помощь будет оценена!
(не уверен, если это необходимо, но мой текущий файл Htaccess выглядит следующим образом):
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Спасибо, но не совсем сработал. Если я вхожу в ** www.example.com/aaa-directory // page **, это приведет меня к довольно странному URL-адресу, который выглядит следующим образом: ** http: //www.example.com/home3/username/public_html/ example.com/aaa-directory/page**. Этот странный URL-адрес, по крайней мере, меняет двойную обратную косую черту на единицу ... так что, возможно, мы добиваемся прогресса? Какие-нибудь дополнительные предложения? – user3597113
Попробуйте обновить код сейчас. – anubhava
@anubhava Как всегда, впечатлило ваше знание Apache RewriteRule. Удивительный актив для сообщества! – JakeGould