如何使这个 .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 规则不区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章