本文整理自网络,侵删。
经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。比如在Apache中这样写规则
rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last;
而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号:
rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last;
同时将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; }
即可实现。
相关阅读 >>
基于discuz security.inc.php代码的深入分析
discuz bad request (invalid hostname)问题解决方法(discuz 和dx都适用)
discuz在win2003环境下 unable to access .includecommon.inc.php in... 的问题终极解决方案
discuz!安装提示“include_path='.;cphp5pear'”错误的解决方法
phpcms和帝国cms二次开发优缺点分析及站长如何适合自己的cms 推荐
更多相关阅读请进入《Discuz论坛》频道 >>