gpt4 book ai didi

apache - RewriteCond 的不区分大小写的文件检查

转载 作者:行者123 更新时间:2023-12-02 01:39:00 26 4
gpt4 key购买 nike

我有一个 .htaccess 文件,它测试特定文件并运行 PHP 脚本(如果存在),如果不存在则重定向到另一个网站。

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/directory/$1 -f
RewriteRule ^(.+\.png)$ process.php?file=$1 [QSA]

RewriteRule ^(.+\.png)$ http://other.website.com/$1

我可以直接运行 PHP 脚本并执行重定向,但这种方式更快。但是,我需要使 RewriteCond 检查不区分大小写。我已尝试设置所有标志并启用拼写检查,但无济于事。

RewriteEngine on
CheckSpelling on
RewriteCond %{DOCUMENT_ROOT}/directory/$1 -f [NC]
RewriteRule ^(.+\.png)$ process.php?file=$1 [QSA,NC]

RewriteRule ^(.+\.png)$ http://other.website.com/$1

在httpd.conf中启用了拼写模块,并且.htaccess文件可以修改所有可能的设置,但它仍然像以前一样工作,如果输入具有不同大小写文件名的文件则不会重定向。

最佳答案

尝试在 Apache 配置中使用 tolower 映射。第一,create a map对于 httpd.conf(或 apache2.conf 或 VHost 配置)中的 tolower 调用:

RewriteMap lc int:tolower

接下来,在条件检查中,将 $1 转换为小写:

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/directory/${lc:$1} -f [NC]
RewriteRule ^(.+\.png)$ process.php?file=$1 [QSA,NC]

RewriteRule ^(.+\.png)$ http://other.website.com/$1

请注意,为了使上述方法正常工作,您的文件应始终采用小写字母。

关于apache - RewriteCond 的不区分大小写的文件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39273477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com