Google选择了以下网址并对其进行了排名:
http://www.example.com/yyy/zzz-99.php?item_id=99&sort=1 ( item_id = 99 部分不应该在那里。
由于我收到了错误并修复了错误,因此我在htaccess中添加了以下行:
RedirectPermanent /yyy/zzz-99.php?item_id=99&sort=1 http://www.example.com/yyy/zzz-99.php?&sort=1
然而,重定向不起作用。关于我做错了什么的任何线索?
答案 0 :(得分:3)
我认为你需要mod_rewrite才能实现这个单一的替换,因为它包含了一个查询字符串。
如果启用了mod_rewrite,您可以在根目录的.htaccess文件中尝试此操作:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/yyy/zzz-99\.php [NC]
RewriteCond %{QUERY_STRING} item_id=99&sort=1 [NC]
RewriteRule .* /yyy/zzz-99.php?&sort=1? [NC,L,R=301]
重定向
http://www.example.com/yyy/zzz-99.php?item_id=99&sort=1
到
http://www.example.com/yyy/zzz-99.php?&sort=1
对于静音映射,从[NC,L,R = 301]中删除R = 301。
答案 1 :(得分:-1)
检查.htaccess文件的名称。确保它以句号开头。
redirect 301 /index.html http://www.domain.com/index.html
redirect permanent /index.html http://www.domain.com/index.html
redirectpermanent /index.html http://www.domain.com/index.html
答案 2 :(得分:-1)
在.htaccess中使用301重定向:
重定向301 http://www.example.com/yyy/zzz-99.php?item_id=99&sort=1 http://www.example.com/yyy/zzz-99.php?sort=1
重定向301(从)(到)