测试服务器上 Nginx 配置是:
rewrite ^/bootstrap/(.*) /bootstrap/$1 break;
rewrite ^(.*)$ /index.php?/$1 last;
访问 www.example.com/bootstrap/demo.css 是可以的,并且 demo 文件位于 /misc.vip/bootstrap/demo.css
但是本地 nginx 必须这样配置才能达到效果:
rewrite ^/bootstrap/(.*) /misc.vip/bootstrap/$1 break;
这是为什么??测试服务器并么有看到对 misc.vip 目录做了什么??
另外, rewrite 的方式是否现在已经不建议了,使用 try_files 应该怎么写?
不吝赐教!!
配置弄好了,这样就OK
server {
listen 80;
server_name admin.vip.xunlei.com;
root /usr/share/nginx/html/xl/admin.vip_center;
index index.php index.html index.htm;
location / {
#try_files $uri $uri/ /index.php?$args;
rewrite ^(.*)$ /index.php?/$1 last;
}
location /static/ {
root /usr/share/nginx/html/xl/admin.vip_center/misc.vip;
index index.html
try_files $uri /static/login.html;
}
location ~* \.(js|jpg|png|css|gif)$ {
root /usr/share/nginx/html/xl/admin.vip_center/misc.vip;
rewrite ^/css/(.*) /css/$1 break;
rewrite ^/js/(.*) /js/$1 break;
rewrite ^/images/(.*) /images/$1 break;
rewrite ^/bootstrap/(.*) /bootstrap/$1 break;
}
……
测试服务器的nginx和本地虚拟机的nginx版本不同,测试服务器版本很老,所以直接把测试服务器nginx规则弄过来是不行的,要这样改一下。还是有的地方不明白,需要深入学习nginx的配置。
1
luckybird 2016-04-12 08:34:34 +08:00
静态文件不是经常单独用一个 location 匹配的吗?
我习惯这样配置 location ~* \.(gif|jpg|png|js|css)$ { root /usr/share/nginx/html/static; } |
2
z5864703 2016-04-12 09:32:59 +08:00
root 目录设置问题
|
3
Jakesoft 2016-04-15 15:09:15 +08:00
我也遇到了相同的问题,但是我的只有路径后面不加 /才会有 301 跳转
|