|
|
1
12
经过几个小时的搜索和测试,我终于找到了真正的问题和解决方案。希望这也能帮助其他人,当他们遇到同样的问题。
观察行为的原因.htaccess文件在每次重定向后处理(即使没有[R]标志) ,
也就是说
再次澄清一下:因为只能观察到硬重定向,所以似乎忽略了[L]标志,但事实并非如此。相反,处理.htaccess两次,在
要虚拟地将子目录移动到应用程序根目录,必须使用其他复杂的条件重写。变量
要匹配此重写规则,必须应用两个条件。首先,在第二行,“localuri”必须以
重定向到允许的内容从根目录到子文件夹(软)
我们想重定向到允许的内容,如果我们还没有这样做,因此第一个条件。第二个条件指定允许内容的掩码。与此掩码匹配的任何内容都将被软重定向,如果内容不存在,则可能返回404错误。 隐藏所有不在子文件夹中或不允许的内容
这将对所有不以开头的uri执行硬重定向到应用程序根目录
我在“问题”中所显示的代码在使用上述解决方案提示后逐渐转变为:
|
|
|
2
0
为了调试,试着简化你的正则表达式和你要求的url(你想要匹配的完整url的一部分),看看它是否工作,现在一步一步地,向正则表达式和测试url添加更多的位,直到你找到停止工作的地方。 |
|
|
3
0
如果它仍然循环,放一个
|