如何解决.htaccess mod_rewrite: -s 和 -f 条件的区别
我经常使用 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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。