免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2818 | 回复: 3
打印 上一主题 下一主题

[Web] 求nginx的rewrite方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-28 12:32 |只看该作者 |倒序浏览
5可用积分
需求/src/_,其中src为真实目录,但是_为虚拟目录,服务器上有很多类似目录,在nginx做rewrite过程中类似的目录不能通过index.php页面处理,如果全是虚拟目录是可以通过index.php处理的,在apache下用rewrite也是可以完全处理的,请教这个该怎么写呢?
apache下的rewrite规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}      !=/server-status
RewriteCond %{REQUEST_URI}      !=/server-info
RewriteCond %{REQUEST_METHOD}   !^OPTIONS$
RewriteRule ^(.*)$ /index.php/$1 [L]

现在我只设置了全部是虚拟目录状态的rewrite规则为:
                if (!-e $request_filename){
                        rewrite ^/(.*)$ /index.php/$1 last;
                }
类似这种目录是真实的,文件是虚拟的应该怎样写?谢谢各位高手!

论坛徽章:
0
2 [报告]
发表于 2009-12-28 13:57 |只看该作者

回复 #1 luanqibazao 的帖子

论坛徽章:
0
3 [报告]
发表于 2009-12-28 14:09 |只看该作者
原帖由 ziggler 于 2009-12-28 13:57 发表
http://www.ohlinux.com/?p=94


这种方法我考虑过,但是如果代码中有很多类似的东西,要每个都要写rewrite,这应该不是一个比较彻底的解决方案,而且如果程序中有新的要手工去加,貌似比较麻烦,所以有没有更简单的方法,用正则或者这类的东西进行处理呢?

论坛徽章:
0
4 [报告]
发表于 2009-12-28 15:16 |只看该作者
DRY?
可以 写一个 rewrite.inc, 然后每个host中include 一下该文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP