nginx通过rewrite方式处理路由

首先需要在nginx.conf中增加一行,具体如图1所示



include /home/www/.htaccess;这一行,就说明你要让该文件中的rewrite配置生效


然后我们编辑.htaccess

具体代码

if (!-e $request_filename){
        rewrite ^/(.*)$ /webroot/index.php?_ca_=$1 last;
}



这几句话的意思就是让所有找不到的文件都作为url参数,传递给index.php,这个是mvc框架程序的唯一入口

然后要记得重新加载nginx配置文件,具体命令 /etc/init.d/nginx reload

有人说可以直接使用service nginx restart这样的命令来让配置文件生效,这样是不好的的,因为restart实际上包含了停止nginx服务以及开启服务两个步骤,

会导致用户访问网站时没有响应,而reload命令则没有这种问题。



然后我们写程序可以测试一下

index.php文件内容如下:

echo "arrive here,111<br/>";
var_dump($_GET);
echo "<br/>";
phpinfo();

最后我们访问一下不存在的文件 http://192.168.1.111/a.php

会发现如下结果,就说明配置成功了

arrive here,111
array(1) { ["url"]=> string(5) "a.php"}



PHP Version 5.6.26

SystemLinux debian1 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u1 x86_64
Build DateOct 9 2016 22:59:11


路由控制这是mvc框架的核心功能,我们可以用这种方式来保证一个入口

有人用的web服务器是apache,可以使用

在线Apache .htaccess文件转Nginx配置文件 - aTool在线工具

网址是:http://www.atool.org/htaccess2nginx.php


这样还是很方便的。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值