我正在尝试执行此规则:
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 标签来克服它......但没有任何影响它:(..问题是什么,我该如何解决它..
我正在尝试执行此规则:
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 标签来克服它......但没有任何影响它:(..问题是什么,我该如何解决它..
你可以试试这个:
RewriteEngine on
RewriteRule ^featured$ home.php?featurez=1 [QSA,L,R=301]
当您在规则的目标中去掉前导斜杠时,当 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/
东西。
RewriteRule ^featured$ http://%{HTTP_HOST}/home.php?featurez=1 [L,NC,PT,R=301]