我有一个 .htaccess 文件(仅)以下几行:
RewriteEngine on
RewriteRule (.*)/[^/]+\.txt$ a.html [L]
这样做的目的是将每个网址重定向到当前目录下方的一个目录,并以.txt
结尾。
我有两个额外的文件(每个文件包含一行文字用于识别):
我有没有名为不存在的文件。
nonexistent/some.txt
时,我会收到a.html
的内容,因为预计 existent/some.txt
时,我会收到a.html
的内容,因为预计 a.html/some.txt
时,我收到404错误意外 Nothe我没有启用dontent-negotiation。要证明这一点:existent/some.html
返回404。
我对这种行为感到非常困惑,我想知道这里的原理是什么。
答案 0 :(得分:0)
也许加入(未经测试):
RewriteCond ${REQUEST_URI} !/?a\.html