.htaccess文件永远不会"运行".它只是一个配置文件.一个不必要的,因为它的每个命令都可以在主httpd.conf配置文件中使用.
导致这个问题的背景是什么?
要启用此文件时,AllowOverride All将在设置httpd.conf文件中必须设置.
在你的问题中没有太多细节,但让我尝试一个尚未采取的角度(据我所知).
如果您问为什么.htaccess文件适用于此请求:
http://myserver.com/mypage
Run Code Online (Sandbox Code Playgroud)
甚至这个要求:
http://localhost/mypage
Run Code Online (Sandbox Code Playgroud)
但不是这个要求:
file://www/mypage
Run Code Online (Sandbox Code Playgroud)
这是因为前两个是实际的HTTP请求,要求Apache为"服务"页面.Apache(假设您的情况配置正确)在处理请求时处理.htaccess文件.
对于第三个"请求",绕过整个过程,因为这不是HTTP请求,而是本地文件系统请求.在这种情况下,Web浏览器正在加载文件,就像文字处理器一样.没有联系过Web服务器,因此.htaccess文件毫无意义.
如果你的意思是本地的,那么据我所知,没有办法让浏览器处理.htaccess文件以获取本地请求.
但是在将来,请求本地服务器的flie和从本地系统加载文件之间存在着天壤之别.
同样,这只是我对你的问题可以解释的一种方式的看法,如果你确实指的是从本地网络服务器请求文件 - 检查许多人建议的配置.(并检查您是否也在运行Apache.)