我在本地PC上使用xampp。.htaccess文件位于/test/
文件夹中。我正在测试localhost/test
Chrome浏览器上的地址。
.htaccess文件是这样的:
RewriteEngine On
RewriteRule . http://google.com
这将重定向到Google。和这个一样
RewriteEngine On
RewriteRule .. http://google.com
3点,4点,5点,6点,7点,8点,9点相同。
但是当有10个点或更多点时,重定向将不起作用。因此,这不会进行重定向(10个点)
RewriteEngine On
RewriteRule .......... http://google.com
这些.htaccess文件中的点实际上意味着什么?他们是正则表达式吗?那神奇的数字10是多少?
编辑我大概发现了原因。在的地址上打开的文件localhost/test
是index.php
。该文件名的长度实际上是9个字母。
因此,有9个或更少的点与之匹配,但有10个点不匹配。我认为这是answear。
edit2点上仍然有些神奇。现在,我已将.htaccess文件放到的空目录中,test2
并开始测试的地址localhost/test2
。
重定向最多发生13个点。对于14个点或更多点,没有重定向。令人困惑。
我刚刚在apache错误日志文件中找到了answear。即使目录中只有.htaccess文件,此点的正则表达式模式也会与某些默认文件名匹配。在我的配置中,默认文件名是:
index.php
index.pl
index.cgi
index.asp
index.shtml
index.html
index.htm
default.php
default.pl
default.cgi
default.asp
default.shtml
匹配结束于default.shtml
只有13个字母(如13个点)的文件名。实际上,该default.shtml
文件不存在于目录中。然后重定向开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句