Heim > Fragen und Antworten > Hauptteil
Der Cache wird dynamisch generiert. Es ist effizienter, diese Cache-Dateien direkt über die URL zu lesen. Cache-Buchstaben sind jedoch alle in Kleinbuchstaben geschrieben. Zum Beispiel http://xxx/ooo/abc.jpg
Wenn der Benutzer http://xxx/ooo/ABC.jpg liest, kann der Cache nicht gefunden werden (es wird ein Fehler gemeldet
).Wie kann ich die Groß-/Kleinschreibung von Dateien nur im Pfad ooo/? ignorieren?
仅有的幸福2017-05-16 17:30:49
楼上都没看清楚题目,就贴了个链接,可惜我声望不够,不然肯定踩你一下
我回答一下楼主的问题,两个方案:
1. 采用nginx官方提供的Perl Moudle,注意这个模块并没有自动加载,需要运行配置文件时增加--with-httpperlmodule。首先,location要匹配到ooo目录,然后要匹配剩余uri,如果有大写,则调用perl将url全部转成小写,然后rewrite,参考配置代码:
#测试perl的统一转小写功能
perl_set $url '
sub {
my $r = shift;
my $lurl = lc($r->uri);
return $lurl;
}
';
location ~* ^/ooo/ {
if ($uri ~ [A-Z]) {
rewrite ^(.*)$ $url premanent;
}
root ooo所在的根目录;
}