我在我的nginx conf中有以下指令,正在正常工作:
location = /favicon.ico { root /home/www/myapp/static/ico; } location ^~ /apple-touch-icon { root /home/www/myapp/static/ico; }
我会合并这些expression式在一个指令,但我不知道如何正确构build正则expression式。 我尝试了以下,但它只适用于favicon.ico,我得到404请求/apple-touch-icon-precomposed.png
location ~* ^/(apple-touch-icon(.)*\.png|favicon.ico) { root /home/www/myapp/static/ico; }
这是一个什么是我认为匹配的问题。
您的正则expression式在我的服务器上正常工作。 也许文件/home/www/myapp/static/ico/apple-touch-icon-precomposed.png不存在?
PS你的旧规则到正则expression式的确切翻译是:
^/(apple-touch-icon|favicon.ico$)
PPS如果您在顶层没有其他.png和.ico图像,您可以使用:
^/[^/]+\.(png|ico)$