[英]Nginx Rewrite rules for clean URLs (issue with CSS and JS rendering)
我想为干净的URL编写nginx重写规则。
每当用户点击http://domain.com/abc/12/16/abc-def-ghi
我都需要执行domain.com/abc.php?a=12&b=16&c=abc-def-ghi
。
现在我的正则表达式是正确的,如:
^\/abc\/(\d+)\/(\d+)\/(\w+\S+)$
规则是
if (!-e $request_filename) {
rewrite ^\/abc\/(\d+)\/(\d+)\/(\w+\S+)$ /abc.php?a=$1&b=$2&c=$3 last;
}
规则工作正常,页面已呈现,但CSS出现乱码。 我的顶部导航栏在最左侧显示为三线栏。 所以我想虽然PHP可以正常工作,但是CSS文件有问题。
是因为我缺少添加CSS的方式还是写CSS的方式? 使用原始URL(不带URL),规则将正确呈现CSS,并且我看到了应该看到的导航栏。
这可能是一个奇怪的问题,但是您是否在启用gzip的情况下通过SSL访问此CSS文件?
几个月前,我遇到了一些问题,nginx将一些javascript文件(仅真正的大文件)塞了进去,但是只有在gzip打开并通过SSL发送时……如果我没记错的话,我升级到了新版本的nginx或关闭有问题文件的gzip。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.