.htaccess 使用htaccess重写规则,重定向301

.htaccess 使用htaccess重写规则,重定向301,.htaccess,mod-rewrite,.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标签来克服它…但没有任何效果:(…问题出在哪里,我该如何解决…你可以试试这个: RewriteRule ^featured$ http://%{HTTP_HOST}/home

我正在尝试执行此规则:

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$ http://%{HTTP_HOST}/home.php?featurez=1 [L,NC,PT,R=301]
RewriteEngine on
RewriteRule ^featured$ home.php?featurez=1 [QSA,L,R=301]
您可以尝试以下方法:

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/
东西。

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

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/
东西。

不起作用。我认为错误来自上面的某个地方。但我不知道从何处清除浏览器缓存,然后重试!不起作用。我认为错误来自于某个地方但我不知道从何处清除浏览器缓存并重试!是否有类似的解决方案:Alias/iphone/var/www/vhosts/apps.com/httpdocs有类似的解决方案:Alias/iphone/var/www/vhosts/apps.com/httpdocs