如何使这个 .htaccess 规则不区分大小写?

Posted

技术标签:

【中文标题】如何使这个 .htaccess 规则不区分大小写?【英文标题】:How to make this .htaccess rule case insensitive? 【发布时间】: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。

谢谢

【问题讨论】:

【参考方案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

以上是关于如何使这个 .htaccess 规则不区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql中使字段区分大小写

如何使这个 preg_match 不区分大小写?

不区分大小写的htaccess 301 [关闭]

如何使 Oracle 不区分大小写

如何使 LIKE 表现得不区分大小写?

试图在 Flask-SQLAlchemy 中使查询不区分大小写 [重复]