nginx 设置重定向 unknown directive "if($host" in
来源:互联网 发布:腾讯软件 编辑:程序博客网 时间:2024/05/24 02:49
内容转载:http://www.apeblog.cn/article/50.html
给nginx设置重定向的时候出现报错
Bash
nginx -s reloadnginx: [emerg] unknown directive "if($host" in /etc/nginx/conf.d/phpmyadmin.conf:9
nginx.conf 的配置
Bash
server { server_name apeblog.cn; if($host!='apeblog.cn') { rewrite ^/(.*)$ http://www.apeblog.cn/$1 permanent; }}
原因是nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的规则是:
Bash
server { server_name apeblog.cn; if ( $host != 'apeblog.cn' ) { rewrite ^/(.*)$ http://www.apeblog.cn/$1 permanent; }}
改完 重启一下nginx 就可以了
Bash
nginx -s reload
需注意的还有 nginx的配置中不支持 if条件的逻辑或|| 逻辑与&& 运算等逻辑运算,而且不支持if的嵌套语法 否则会报错,我们可以用一下
方式实现
Bash
set $flag 0;if ($host != 'pam.apeblog.cn') { set $flag "${flag}1";}if ($host != 'www.pam.apeblog.cn'){ set $flag "${flag}1";}if ($flag = "011"){ rewrite ^/(.*)$ http://www.apeblog.cn/$1 permanent;}
1 0
- nginx 设置重定向 unknown directive "if($host" in
- nginx做301重定向if判断报错unknown directive "if($host!="
- nginx中重写rewrite的语法错误[emerg] unknown directive “if($host!=”
- Nginx中unknown directive "if(!-e"解决方案
- Nginx中unknown directive "if(!-f"解决方案
- Nginx中unknown directive "if(!-e"解决方案
- unknown directive "if(!-e" in /usr/local/nginx/conf/nginx.conf
- nginx:[emerg]unknown directive "ssl"
- nginx设置301重定向的方法
- nginx设置301永久重定向
- nginx设置301永久重定向
- [emerg] unknown directive 'fastcgi_inidex' in /etc/nginx/sites-enabled/default:83
- nginx报错“unknown directive "" in D:\nginx-1.4.3/conf/nginx.conf:4”的解决方案
- nginx启动失败 unknown directive "worker_processes"
- 更改host的重定向
- 【Nginx】nginx中重写rewrite的语法错误[emerg] unknown directive
- nginx重定向规则
- nginx 301重定向
- 顺序表中的删除和插入
- Android控件之ScrollView用法实例分析
- Maven实战指南 07
- java并发编程 (一) 《基本知识》
- ChatterBot聊天机器人教程01
- nginx 设置重定向 unknown directive "if($host" in
- Qt Command Prompt命令目录
- ZOJ 2750 Idiomatic Phrases Game 最短路(dijkstra)
- 2016 JAVA与Android面试题整理
- Keras-Sequential模型(2)
- ajax函数 ajax技术
- imageROI = image(Rect(700, 200, logo.cols, logo.rows));异常崩溃问题
- Cannot create JDBC driver of class '' for connect URL 'null'
- Tomcat服务器简介