1

我正在尝试执行此规则:

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 标签来克服它......但没有任何影响它:(..问题是什么,我该如何解决它..

4

3 回答 3

1

你可以试试这个:

RewriteEngine on
RewriteRule ^featured$ home.php?featurez=1 [QSA,L,R=301]
于 2012-11-08T13:31:32.753 回答
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/东西。

于 2012-11-08T15:34:24.467 回答
0
RewriteRule ^featured$ http://%{HTTP_HOST}/home.php?featurez=1 [L,NC,PT,R=301]
于 2012-11-08T13:29:53.427 回答