而不是有所有新的favicon格式放置到我的网站的根目录,我把他们放在一个子文件夹内。
为了符合标准,因为一些浏览器/设备版本不使用html meta标记中指定的路径,而是试图从网站根目录获取文件,我创建了一个重写规则,将所有这些文件重定向到实际位置-但仅限于这些文件。
到目前为止,我已经得出以下结论:
RewriteEngine On
RewriteRule ^/((apple\-touch\-icon|android\-chrome|favicon|mstile)-([0-9]+)x([0-9]+).png|manifest\.json|browserconfig\.xml|favicon\.ico|(apple\-touch\-icon\-precomposed|apple\-touch\-icon).png|safari-pinned-tab.svg)$ /favicon/$1 [L]
这应该与以下所有文件匹配:
测试规则at this site时,规则不匹配(请参见图片):
我希望将此规则保留在同一行上,并且由于大小标准的变化,我希望保持此动态(也就是说,不是指定每个单独的文件,而是像我试图做的那样使用掩码)。我怀疑我的正则表达式有问题。
请协助或提供一个解决方案与纠正regex模式为我打算实现的。
2条答案
按热度按时间hl0ma9xz1#
现代化的收藏夹图标+重写
下面是一个相当健壮的模式,用于使用rewriteMap现代的favicon。
Regex模式,供参考
浏览器配置文件|manifest.json| safari-pinned-tab.svg|(安卓-Chrome|图标|mstile)-[0-9]+x[0-9]+.png|苹果触摸图标(预压缩. png|-[0-9]+x[0-9]+.png文件|.png格式)|清单. json)$
用法:将其应用于重写规则(htaccess)
此示例假定放置favicon的重写目标是一个名为
favicon
的文件夹(或您希望的任何文件夹)。jmo0nnb32#
我不认为这会起作用。
干杯!干杯!