电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> 网络FAQ>>关于apache服务器rewrite规则更换到nginx下伪静态规则的写法注意一例:

关于apache服务器rewrite规则更换到nginx下伪静态规则的写法注意一例

来源:网络 | 2013-9-6 | (有3611人读过)


对于Nginx的Rewrite经过网上查阅和测试,发现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 - 返回永久重定向的H
-----------------------另一个参考说明-----------------------------------
 很多用户的程序,官方仅提供了apache或IIS的伪静态规则,无法加载到nginx服务器上,下面就简单介绍下如何将apache转换成nginx可以使用的规则。 
  RewriteEngine On 
  RewriteRule ^/([a-z]+)/p_([0-9]+)\.html$ /list\.php\?id=$1 
  以上为apache的伪静态规则。下面为转换后的nginx规则: 
  rewrite ^/([a-z]+)/p_([0-9]+)\.html$ /list.php?id=$1 last; 
  请注意:apache后则不能直接使用点和问号,所以将/list\.php\?id=$1中的"\"去掉,即:/list.php?id=$1 
  然后,将RewriteRule 换为 rewrite,并在在每条规则后加上“last;” (实际用时,别输入双引号)
  这样逐条修改就完成了。
网络FAQ热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号