【问题标题】:How to make this .htaccess rule case insensitive?如何使这个 .htaccess 规则不区分大小写?
【发布时间】:2011-02-01 00:14:54
【问题描述】:

这是我的 .htaccess 中的规则

# those CSV files are under the DOCROOT ... so let's hide 'em
<FilesMatch "\.CSV$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

不过,我注意到,如果文件的 CSV 扩展名为小写或混合大小写,规则将忽略它并显示。

如何使这种情况不区分大小写?

我希望它不会归结为 "\.(?:CSV|csv)$"(我不确定它是否会起作用,并且不涵盖所有基础)

注意:这些文件位于 docroot 下,并由 3rd 方服务自动上传到那里,所以我宁愿实施一条规则而不是打扰它们。如果 设置了这个网站,我会选择高于 docroot。

谢谢

【问题讨论】:

    标签: regex .htaccess case-insensitive


    【解决方案1】:

    This page from the apache docs 说你可以这样做:

    <FilesMatch \.(?i:csv)$>
    

    【讨论】:

    • 此语法也适用于“或”语句:"\.(?i:gif|jpe?g|png)$"
    【解决方案2】:

    不区分大小写:

    <FilesMatch "(?i)\.(js|css|eot|ttf)$">
    

    【讨论】:

      【解决方案3】:

      "\.[cC][sS][vV]$"

      在上传的文件到达您的服务器时保持一致并重命名它们可能会更好。

      【讨论】:

      • 感谢您的回答伙伴,但这有点 hacky。
      • 我的场景是验证查询字符串中的大小写。此解决方案套件。谢谢@Amy
      猜你喜欢
      • 2012-09-06
      • 2014-10-31
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      • 2015-07-07
      • 2018-10-17
      相关资源
      最近更新 更多