我想为干净的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的方式中缺少了吗?使用原始URL(不适用)CSS正确呈现的规则,我看到应该看到的Nav Bar。
答案 0 :(得分:0)
这可能是一个奇怪的问题,但您是否通过启用了gzip的SSL访问此CSS文件?...
几个月前我有一些问题,nginx使用了一些javascript文件(只有非常大的文件),但只有当gzip打开并且它通过SSL发送时......如果我没记错,我升级到了新的nginx的版本或关闭违规文件的gzip。