htaccess 301重定向无法正常工作

时间:2013-11-14 05:43:36

标签: php apache .htaccess mod-rewrite redirect

我已经通过htaccess重写了网址,现在我想将该网址重定向到另一个网址。


以下是我的重写规则,我用于短网址

RewriteRule ^([a-zA-Z0-9_-]+)$ modules/pages/content.php?page_url=$1 [NC,L]

这很好用,我可以访问像..

这样的网址
http://www.domain.com/example-page


现在我想将http://www.domain.com/example-page网址重定向到http://www.domain.com/product/features/example-page

我的htaccess重定向代码是..

redirect 301 /example-page http://www.domain.com/product/features/example-page

此代码正常运行,但我遇到了问题。

当我打开网址http://www.domain.com/example-page时,它会重定向到http://www.domain.com/product/features/example-page?page_url=example-page

但不是。我希望它重定向到http://www.domain.com/product/features/example-page

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:7)

您需要坚持使用mod_rewrite,而不是将mod_rewrite指令与mod_alias指令(Redirect 301)混合使用。 在您重写规则路由到content.php之前,添加:

RewriteRule ^example-page$ http://www.domain.com/product/features/example-page [L,R=301]