Удаление косой черты с помощью htaccess
В зависимости от предложений Google, я пытался добавить некоторые коды в мой.htaccess, чтобы предотвратить дублирование контента. Это мой код:
#Duplicate Content
RewriteCond %{HTTP_HOST} !^www.soomar63.com$ [NC]
RewriteRule ^(.*)$ http://www.soomar63.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.soomar63.com/ [R=301,L]
#Remove Trailing Slash
RewriteCond %{HTTP_HOST} ^(www.)?soomar63\.com$ [NC]
RewriteCond %{THE_REQUEST} !administrator/(.*)$
RewriteRule ^(.*)/$ http://www.soomar63.com/$1 [R=301,L]
Этот код работает нормально, у него есть небольшая проблема:
Этот код исправляет следующие ссылки:
soomar63.com -> www.soomar63.com
soomar63.com/ -> www.soomar63.com
soomar63.com/index.php/ -> www.soomar63.com
soomar63.com/about.html/ -> www.soomar63.com/about.html
Но это не исправляет следующие ссылки:
soomar63.com/index.php?mylink/ -> must correct to www.soomar63.com/index.php?mylink
soomar63.com/about.html#mylink/ -> must correct to www.soomar63.com/about.html#mylink
Пожалуйста помоги. Спасибо.
1 ответ
Замените свой #Remove Trailing Slash
правила с ниже
#Remove Trailing Slash
RewriteCond %{HTTP_HOST} ^(www.)?soomar63\.com$ [NC]
RewriteCond %{THE_REQUEST} !^/?administrator$
RewriteRule ^ http://www.soomar63.com%{REQUEST_URI} [R=301,L,QSA]