问题描述
我经常使用 apache 重写模块,但现在我偶然发现了这两行:
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -s [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f
第一行使用 -s 条件。第二个使用 -f 条件。在 docs 中它写道:
对于 -f
将 TestString 视为路径名并测试它是否存在,并且是一个常规文件。
对于 -s
将 TestString 视为路径名并测试它是否存在,并且是大小大于零的常规文件。
我使用 Julian Pömp’s htaccess generator for angular 找到了两个条件。
那么,如果已经有 -s
条件(文件存在),那么 -f
条件(文件大小)有什么用?检查文件的存在和大小大于零的文件的存在似乎有点多余。所有文件都将通过 -f
条件,因此似乎不需要 -s
条件检查...
解决方法
你说得对,这是多余的。如果我同时使用这两个条件,则文件大小是否大于 0 都无关紧要。我会将其更改为仅 -f
。