写一个.htaccess行来查找和替换URL的一部分

时间:2013-04-24 08:41:40

标签: .htaccess

我知道其中有一些,但我找不到一个描述我想做的事情。

我有一个我要退休的页面,例如:

www.mysite.com/pages/page_old.php?someargs

我希望_old被剥离,所以页面转到

www.mysite.com/pages/page.php?someargs

我试过

RewriteEngine On
RewriteBase /
RewriteRule ^/pages/page_old.php$ ^/pages/page.php$ [L,R=301]

但它不起作用。

值得注意的是?someargs可以是传递给页面的任何args,所以这必须是灵活的。

1 个答案:

答案 0 :(得分:1)

前导斜杠不在规则中测试的URI路径中,因此也不能在正则表达式中。

替换URL是纯文本字符串,不应使用正则表达式字符,因为它们是按字面意思传递的。

您可以尝试这样做:

RewriteRule ^pages/page_old.php  /pages/page.php [R=301,NC,L]

查询字符串将为替换网址passed through unchanged