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来测试这个?这个通道在哪里?