用htaccess重写规则,重定向301

时间:2012-11-08 13:16:14

标签: .htaccess mod-rewrite

我正在尝试执行此规则:

RewriteRule ^featured$ home.php?featurez=1 [L,NC,PT,R=301]

但我得到的是:

http://apps.com/var/www/vhosts/apps.com/httpdocs/iphone/home.php?featurez=1

我试图用PT标签克服它...但没有任何影响它:( ..问题是什么,我该如何解决它..

3 个答案:

答案 0 :(得分:1)

你可以试试这个:

RewriteEngine on
RewriteRule ^featured$ home.php?featurez=1 [QSA,L,R=301]

答案 1 :(得分:0)

RewriteRule ^featured$ http://%{HTTP_HOST}/home.php?featurez=1 [L,NC,PT,R=301]

答案 2 :(得分:0)

当您在规则的目标中省略前导斜杠时,当apache需要猜测路径是URI路径还是文件路径时,它会猜错。您可以通过添加前导斜杠(或使目标成为绝对URI)或添加重写基来帮助apache:

RewriteBase /iphone/
RewriteRule ^featured$ home.php?featurez=1 [L,NC,PT,R=301]

(或任何基本URI用于您的请求)

或者将目标更改为绝对URI:

RewriteRule ^featured$ /iphone/home.php?featurez=1 [L,NC,PT,R=301]

这假设您的htaccess文件位于文档根目录中的“iphone”目录中,要访问重定向,请转到http://your.domain/iphone/featured。否则,只需删除所有iphone/内容。