У меня 2 раза проблема с перенаправлением 301.Старая CMS, которая была у меня в домене, не используется, и я пытаюсь выяснить, как правильно перенаправить, если что-то совпадает.
1) Удалите строки запроса из URL и выполните перенаправление.Вот поисковые системы URL, пытающиеся получить доступ, которые должны перенаправить на главную страницу index.php
Пример: http://www.mysite.com/?dispatch=products.search&features_hash=P2
Цель: http://www.mysite.com/
ИЛИ
Пример: http://www.mysite.com/index.php?dispatch=products.search&features_hash=V9
Цель: http://www.mysite.com/
ИЛИ
Пример:http://www.mysite.com/index.php?dispatch=news.list
Цель: http://www.mysite.com/
Вот код, который я пробовал до сих пор, который не работает:
RewriteCond %{QUERY_STRING} ^dispatch$
RewriteRule ^(.*)$ http://www.mysite.com/$1? [R=301,L]
2) ДругойУ меня проблема по какой-то причине на моем сайте есть дубликаты в поисковых системах через параметр url =.Например,
Пример: http://www.mysite.com/?url=http://www.mysite.com
Цель: http://www.mysite.com/
По сути, это те же страницы, но если принять во внимание, что яиметь страницы категорий и другие отдельные страницы, к которым все имеют доступ по url =, тогда это не правильно.По сути, я хочу вернуть 301 на главный mysite.com. Для этого я попробовал следующий код, который тоже не работает:
RewriteCond %{QUERY_STRING} ^url$
RewriteRule ^(.*)index.php$ http://www.mysite.com/$1? [R=301,L]
***** ------ Редакция: ------ *******Полный файл htaccess:
Options -Indexes
Options +SymLinksIfOwnerMatch
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mysite.com
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]
RewriteRule ^([a-z0-9/-]+)-p-([0-9]+).html$ my-pages.php [NC,L,QSA]
</IfModule>
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*iframe.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteCond %{QUERY_STRING} (;|'|"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if).* [NC]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteRule ^(.*)$ error_page.php [F,L]
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
ErrorDocument 400 /error_page.php?error_id=400
ErrorDocument 401 /error_page.php?error_id=401
ErrorDocument 403 /error_page.php?error_id=403
ErrorDocument 404 /error_page.php?error_id=404
ErrorDocument 405 /error_page.php?error_id=405
ErrorDocument 408 /error_page.php?error_id=408
ErrorDocument 415 /error_page.php?error_id=415
ErrorDocument 500 /error_page.php?error_id=500
ErrorDocument 501 /error_page.php?error_id=501
ErrorDocument 502 /error_page.php?error_id=502
ErrorDocument 503 /error_page.php?error_id=503
ErrorDocument 505 /error_page.php?error_id=505
ErrorDocument 504 /error_page.php?error_id=504
<FilesMatch "\.(inc|tpl|h|ihtml|sql|ini|conf|class|bin|spd|theme|module|exe)$">
deny from all
</FilesMatch>
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
SetEnvIfNoCase User-Agent "^libwww-perl*" block_bad_bots
Deny from env=block_bad_bots
RewriteCond %{HTTP_USER_AGENT} libwww-perl [OR]
RewriteCond %{QUERY_STRING} tool25 [OR]
RewriteCond %{QUERY_STRING} cmd.txt [OR]
RewriteCond %{QUERY_STRING} cmd.gif [OR]
RewriteCond %{QUERY_STRING} r57shell [OR]
RewriteCond %{QUERY_STRING} c99 [OR]
<Files 403.shtml>
order allow,deny
allow from all
</Files>