在.htaccess
,/mydir/
中应该使用什么RewriteRule到HTTP 302将每个请求重定向到http://www.example.com/mydir/output
?重写规则.htaccess中的模式否定会导致太多的重定向
在/mydir/
的.htaccess
当前的内容:
RewriteEngine On
RewriteBase "/mydir/"
RewriteRule !"^output$" "output" [R]
输入网址:
http://www.example.com/mydir/input1
,
http://www.example.com/mydir/input2
,
http://www.example.com/mydir/input3
预期输出:
http://www.example.com/mydir/output
,
http://www.example.com/mydir/output
,
http://www.example.com/mydir/output
实际产出:
ERR_TOO_MANY_REDIRECTS
,
ERR_TOO_MANY_REDIRECTS
,
ERR_TOO_MANY_REDIRECTS
谢谢,但不幸它不起作用。现在输出仍然是'ERR_TOO_MANY_REDIRECTS'。也许正因为如此,但我不确定:'在比较之前(直到并包括尾部斜线),定义规则的目录路径从当前映射的文件系统路径中剥离。这个每个目录前缀剥离的最终结果是,在这个上下文中的规则只匹配当前映射的文件系统路径中“规则”被定义的那部分。“来源:[什么是匹配的?](http:// httpd.apache.org/docs/current/mod/mod_rewrite.html#what_is_matched) –
如果Pattern是'“^ output $”'(不带'!'),则按照预期匹配以下URL:'http:// www.example.com/MYDIR/output'。没有其他事情与预期一致。所以,当相同的模式被否定时,我猜它应该**不匹配提到的URL,但**匹配**其他所有内容。但它似乎匹配所有内容,因为重写循环(?)表明所提到的URL也匹配。 –
你说得对。加倍检查。回答更新,你可以再次检查:) – Dekel