加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

从Apache到Nginx的大括号({和})重写规则.

发布时间:2020-12-13 21:28:26 所属栏目:Nginx 来源:网络整理
导读:我有这个规则成功地在apache上工作但返回错误或nginx: rewrite ^/saison-([0-9]{1})$/pages.php?cat_page=saison-$1season=$1 last;rewrite ^/saison-([0-9]{1})/([a-z0-9-]+)$/evenements.php?season=$1title=$2 last;rewrite ^/saison-([0-9]{1})/([a-z0-

我有这个规则成功地在apache上工作但返回错误或nginx:

rewrite ^/saison-([0-9]{1})$/pages.php?cat_page=saison-$1&season=$1 last;
rewrite ^/saison-([0-9]{1})/([a-z0-9-]+)$/evenements.php?season=$1&title=$2 last;
rewrite ^/saison-([0-9]{1})/([a-z0-9-]+)/([a-z0-9-]+)/([a-z0-9-]+)$/evenements.php?season=$1&title=$2&place=$3&date=$4 last;
rewrite ^/saison-([0-9]{1})/([a-z0-9-]+)/([a-z0-9-]+)/([a-z0-9-]+)/([a-z]+)$/evenements.php?season=$1&title=$2&place=$3&date=$4&view=$5 last;

我有 :
????*重新启动nginx:[emerg]:指令“重写”不被“;”终止在/path/rwrules.nginx:1中

如果我从我的重写规则中删除这4行,它是有效的.
有什么问题 ?

最佳答案
阅读这个documentation.特别是:

Note: for curly braces( { and } ),as they are used both in regexes and for block control,to avoid conflicts,regexes with curly braces are to be enclosed with double quotes (or single quotes).

所以例如:

rewrite ^/saison-([0-9]{1})$/pages.php?cat_page=saison-$1&season=$1 last;

应该:

rewrite "^/saison-([0-9]{1})$" /pages.php?cat_page=saison-$1&season=$1 last;

这应该删除“;”语法错误(对于规则我没有检查它们是否有效).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读