发布时间:2017-06-10 14:42:45编辑:丝画阁阅读(728)
nginx中可以使用rewrite配置url的重定向,rewrite指令可以位于server段,也可以位于location中,配置rewrite后通过/usr/local/nginx/sbin/nginx -t检查配置时,出现如下错误:
nginx: [emerg] directive "rewrite" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:139 nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
解决的办法是把规则段使用引号引起来。例如:
rewrite ^/u_(.{7})\.js$ /action/js.php?i=$1 break; 修改为 rewrite "^/u_(.{7})\.js$" /action/js.php?i=$1 break; 本条可以不用引号 rewrite ^/u_(\d+)\.js$ /action/js.php?i=$1 break;
为什么有些必须要引号,有些又可以省略呢,仔细看第一条规则,里面出现了符号 “{、}”,应该是它造成的,因为配置文件中都是用它来作为配置的段起止标记,所以为了安全起见,最好还是都带上引号。
关键字:
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】