В настоящее время у меня есть веб-сайт, на котором гости могут получить доступ к каждому URL-адресу с любым количеством косой черты для разделения имен папок. Например, если URL должен быть:удаление нескольких групп косой черты по всему URL-адресу в .htaccess
http://example.com/one/two/three/four
Затем пользователи могут получить доступ к той же странице, с помощью любого из следующих действий:
http://example.com/one//two///three////four/////
http://example.com/one/two////three/four/////
http://example.com///one///////////two////three/four/
http://example.com///////////one///////////two/three/four
Однако, я хочу, приведенный выше пример URLs для только перенаправлять пользователей по следующему адресу:
http://example.com/one/two/three/four
Это мой файл .htaccess, чтобы попытаться остановить огромные косые черты:
RewriteCond %{ENV:REDIRECT_STATUS} !^$
RewriteRule .* - [L]
RewriteRule ^(.*)/+$ /$1 [R=301,L,NC]
RewriteCond %{REQUEST_URI} ^/+(.*)/+$
RewriteRule .* /%1 [R=301,L]
Третья строка успешно останавливает трейлинг-косые черты на длинных URL-адресах. 4-я и 5-я строки - это моя попытка остановить косые черты сразу после имени домена, но это было неудачно.
Причина, по которой я задаю этот вопрос, заключается в том, что я не хочу, чтобы Google поймал меня за дублированный контент и с активным AdSense на сайте, Google, скорее всего, сканирует все URL-адреса, к которым я обращаюсь.
Есть ли комманда RewriteCond/RewriteRule, которую я могу использовать, чтобы удалить средние косые черты или более активно?
Не только, что делать один набор только косой черты? Я хочу преобразовать ВСЕ группы из 2 или более косущих, склеенных вместе только в одну косую черту. – Mike
Пожелание, которое вы испытали перед написанием этого комментария :) Это действительно удаление двух или более косых черт ** в любом месте ** в URL-адресе. В этом причина использования '$ 0', где Apache автоматически сжимает все' // 'в единый'/'. – anubhava
, например. 'Https: // локальный /////////// один /////////// два ////////// три/четыре /////// 'будет 'https: // localhost/one/two/three/four /' в одном переадресации. – anubhava