会Nginx进来一下,规则里面含有花括号的问题
if (!-e $request_filename) {
return 404;
return 404;
}
其它像这样的判断if (!-e $request_filename) { }都会提示 [emerg]:directive "rewrite" is not terminated by ";"
Nginx就无法启动了
百度了一下,说是花括号表示结束的意思,一般的规则可用引号将其引起来,但这种判读基本不好引用,请问有什么代替的写法吗?或怎么设置Nginx让他能智能一点识别这个花括号不是规则结束呢?
先行谢过。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
在下面,帮看一下。谢谢。
贴完整的配置和错误信息
if (!-e $request_filename) { return 404; }这句话是没错的
{}括号里面没有空,还有规则在里面的,Nginx规则里面有花括号然后Nginx就会无法启动,会提示那一段话。你知道有什么代替的写法吗?
{} 里面不能为空啊
会错意了貌似
就是这行代码的问题,删除掉就行。 if (!-e $request_filename) { return 404; }
这是Discuz!X默认的的Nginx规则。
回复
我特意nginx-t了下,这么写是一点问题也没有的nginx/conf/nginx.conf syntax is ok
回复
那会不会是Nginx版本的问题呢?有些服务器我也发现是正常的,但有个服务器它就是出这种错误。而且我google了一下,好多人遇到这个问题。
回复
错误它都提示的很明显了,rewrite没有被;结束!你再好好找找