Apache .htaccess规则重定向,但不重写
我正在写一个简单的重写规则。 我希望所有前往给定路径的交通都能从另一条路径获取内容 我有以下规则:Apache .htaccess规则重定向,但不重写,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在写一个简单的重写规则。 我希望所有前往给定路径的交通都能从另一条路径获取内容 我有以下规则: Options +FollowSymlinks RewriteEngine on #this is the rule I am implementing RewriteCond %{REQUEST_URI} ^/bar/$ Rewriterule ^(.*)$ "/foo/bar/" [L] #This rule is working RewriteCond %{QUERY_STRING} ^
Options +FollowSymlinks
RewriteEngine on
#this is the rule I am implementing
RewriteCond %{REQUEST_URI} ^/bar/$
Rewriterule ^(.*)$ "/foo/bar/" [L]
#This rule is working
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-zA-Z]+)$ "/foo/bar/index.php?fb=$1&%1 [L]
在这条规则之后还有一条规则在起作用:
像以前一样,它不起作用。就像这样,它确实:
RewriteCond %{REQUEST_URI} ^/bar/$
Rewriterule ^(.*)$ "/foo/bar/" [R,L]
我想重写,而不是重定向,但我经常使用R只是为了测试。
我可能做错了什么,但是什么
注意:我以前有另一条规则,对于重写,它是有效的。(我想)它没有丢失任何模块。经过一番斗争,我发现了问题 要使此规则起作用,请执行以下操作:
#this is the rule I am implementing
RewriteCond %{REQUEST_URI} ^/bar/$
Rewriterule ^(.*)$ "/foo/bar/" [L]
它需要像这样写:
RewriteCond %{REQUEST_URI} ^/bar/index.php$
Rewriterule ^(.*)$ "/foo/bar/" [L]
它需要index.php。您应该替换现有的文件或资源。经过一番斗争后,我发现了问题 要使此规则起作用,请执行以下操作:
#this is the rule I am implementing
RewriteCond %{REQUEST_URI} ^/bar/$
Rewriterule ^(.*)$ "/foo/bar/" [L]
它需要像这样写:
RewriteCond %{REQUEST_URI} ^/bar/index.php$
Rewriterule ^(.*)$ "/foo/bar/" [L]
它需要index.php。您应该替换现有的文件或资源。您还有其他规则吗?@JonLin,是的,我会发布them@anubhava不,只是简单的html和一个简单的php脚本。如果我有[R]那么,重定向,它会重定向。如果我真的想重写,什么都不会发生。我只是使用默认页面/而不是/foo/bar/您使用什么URL来测试这个?这个htaccess在哪里?你有其他规则吗?@JonLin,是的,我会发布them@anubhava不,只是简单的html和一个简单的php脚本。如果我有[R]那么,重定向,它会重定向。如果我真的想重写,什么都不会发生。我只是使用默认页面/而不是/foo/bar/您使用什么URL来测试这个?这个通道在哪里?