Я пытаюсь удалить повторяющиеся косые черты из URL-адресов. Следующее правило .htaccess:
RewriteRule ^(.+)//+(.*)$ $1/$2 [L,NC,R=301]
НЕ работайте для меня по URL-адресу, например:
http://www.mp7.org/?site=69.com\\\\\\\\\\\\\\\\
Файл .htaccess
#### mod_rewrite in use Options +FollowSymlinks RewriteEngine On
Это правило не будет работать для обратных косых черт . Вы должны добавить аналогичное правило с обратными косыми чертами
RewriteRule ^(.+)\\\\+(.*)$ $1\\$2 [L,R]
Если вы хотите заменить обратную косую черту (косой чертой), используйте это правило вместо
RewriteRule ^(.+)\\\\+(.*)$ $1/$2 [L,R]
И удалить все обратные / слэши в конце запроса
RewriteRule ^(.*?)[/\\]+$ $1 [L,R]
и то же самое, когда это строка запроса
RewriteCond %{QUERY_STRING} ^(.*=.*?)[/\\]+$ RewriteRule ^.*$ $0?%1 [R,L,QSA]
Когда все работает так, как вы ожидаете, вы можете изменить R
на R=301
.
Никогда не тестируйте с включенным 301
, см. Этот ответ. Советы по отладке .htaccess переписывают правила для деталей.
Это из-за сервера IIS, и в основном почти наверняка ваш сайт урбанизирован в .Net .asp или. aspx Вам нужно ввести в эксплуатацию один миниатюрный скрипт, когда вашему серверу будет предоставлен http или https, он должен Lcase (URL). Если страниц не так много, вы можете переименовать все в нижнем регистре, изменить всю внутреннюю привязку веб-страниц до нижнего регистра и после этого запроса на удаление URL-адреса в инструментах для веб-мастеров Google.
как удалить повторяющиеся URL-адреса