我刚刚发现我需要删除一些重复的页面,但是一些不存在的页面会被编入索引并产生少量流量。我想将这些网址重定向到原始网址。
http://www.example.com/buy-something.php
到
http://www.example.com/something.php
我基本上需要删除网址中的“buy-”并确保将页面重定向到正确的页面。以下是我到目前为止的情况:
#301 Redirect buy- to none
RewriteRule ^([a-zA-Z\.]+).php$ /buy-$1.php [L,R=301]
但是这对应该重定向的页面没有任何作用,并且会向其他页面添加一个买入 - 购买 - 购买 - 购买 - 购买 - 循环,并导致它们超时。我尝试了其他一些变化,但没有取得胜利。
非常感谢您的帮助。
答案 0 :(得分:1)
您的重写规则不正确。它与你的意图相反。试试这个:
#301 Redirect buy- to none
RewriteRule ^buy-(.*).php$ /$1.php [L,R=301]
答案 1 :(得分:1)
你混淆了语法,现在你将任何 .php重定向到/buy-.php, 因为你想要它的另一种方式尝试:
RedirectRule ^buy-([a-zA-Z\.]+).php$ /$1.php [L,R=301]
这应该采取任何购买 - * .php域名,并使用Code 301将它们重定向到* .php。
来源: http://httpd.apache.org/docs/current/mod/mod_rewrite.html