这是我第一次使用nginx重写, 谁能帮我把这些规则转换成nginx sintax?
RewriteRule (economics|sport|gossip|aboutus)+$ index.php?section=$1
RewriteRule (register)+$ $1.php?%{QUERY_STRING}
RewriteCond %{QUERY_STRING} ^p
RewriteRule (economics|sport|gossip)/+$ articles.php?section=$1&%{QUERY_STRING}
谢谢
答案 0 :(得分:1)
rewrite (economics|sport|gossip|aboutus)$ /index.php?section=$1 last;
我不确定+正在使用原始正则表达式的目的是什么。这四个字可以不止一个吗?您是否尝试仅匹配其中一个单词(即问题是“或”部分)?为什么rewrite directive“打破”而不是“最后”?
rewrite (register)+$ $1.php last;
同样,我不确定你在这个正则表达式中用+来完成什么。你的意思是.+
(即“一个或多个角色”)?如果是这样,$是多余的。正如你所写,它意味着“一个或多个重复的字符串'寄存器'结束请求字符串。”
答案 1 :(得分:0)
nginx中的重写语法并不完全不同。
rewrite ^/(.*)$ http://www.just1word.com/$1 permanent;
这是我从配置文件中获取的一个。也许它会指出你正确的方向。