秀米云香港服务器

颠末网上查阅和测试,发明Nginx的Rewrite法则和Apache的Rewite法则不同不是很大,险些可以直接利用。好比在Apache中这样写法则

rewrite^/([0-9]{5}).html$/viewthread.php?tid=$1last;

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

而在Nginx中写成这样写是无法启动的,办理的步伐是加上两个双引号:

rewrite"^/([0-9]{5}).html$"/viewthread.php?tid=$1last;

同时将RewriteRule为Rewrite,,根基就实现了Nginx的Rewrite法则到Apache的Rewite法则的转换。

Rewrite的Flags

last 根基上都用这个Flag。

break 中止Rewirte,不在继承匹配

redirect 返回姑且重定向的HTTP状态302

permanent 返回永久重定向的HTTP状态301

WordPress的Rewrite其实在Nginx下设置WordPress的Rewrite照旧较量简朴的,在location /{..................}内里插手

if(!-f$request_filename){rewrite(.*)/index.php;}

即可实现。

下面是一个完整的vhost的设置文件

server{listen80;server_nameserver110.comwww.server110.com;location/{indexindex.htmlindex.htmindex.php;root/www/wwwroot/server110.com;if(-f$request_filename/index.html){rewrite(.*)$1/index.htmlbreak;}if(-f$request_filename/index.php){rewrite(.*)$1/index.php;}if(!-f$request_filename){rewrite(.*)/index.php;}}location~.php${includefastcgi_params;fastcgi_indexindex.php;fastcgi_pass127.0.0.1:8787;fastcgi_paramSCRIPT_FILENAME/www/wwwroot/server110.com$fastcgi_script_name;}location/server110-status{stub_statuson;access_logoff;}}

Discuz!的Rewrite下面的Rewrite中百分号前面多了个转移字符“”,这在Apache中是需要的,而在Nginx中则是不需要的。

rewrite^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$/viewthread.php?tid=$1&extra=page%3D$3&page=$2last;

正确的应该是

rewrite^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$/viewthread.php?tid=$1&extra=page%3D$3&page=$2last;

这个错误在根基上今朝所有利用Nginx作为处事器,而且开启了Rewrite的网站上存在。包罗Discuz!官方,今朝已经给cnteacher反馈了。Nginx实例代码

server{listen80;server_namewww.server110.comserver110.com;location/{indexindex.htmlindex.htmindex.php;root/www/www.server110.com;rewrite^(.*)/archiver/((fid|tid)-[w-]+.html)$$1/archiver/index.php?$2last;rewrite^(.*)/forum-([0-9]+)-([0-9]+).html$$1/forumdisplay.php?fid=$2&page=$3last;rewrite^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+).html$$1/viewthread.php?tid=$2&extra=page%3D$4&page=$3last;rewrite^(.*)/profile-(username|uid)-(.+).html$$1/viewpro.php?$2=$3last;rewrite^(.*)/space-(username|uid)-(.+).html$$1/space.php?$2=$3last;rewrite^(.*)/tag-(.+).html$$1/tag.php?name=$2last;}location~.php${includefastcgi_params;fastcgi_indexindex.php;fastcgi_pass127.0.0.1:8694;fastcgi_paramSCRIPT_FILENAME/www/www.server110.com$fastcgi_script_name;}location/www.server110.com-status{stub_statuson;access_logoff;}}

标题:Nginx处事器下利用rewrite重写url以实现伪静态的示例

地址: https://www.yunhk.xyz/26006.html