nginx通过rewrite方式处理路由
2016-10-27 22:35
211 查看
首先需要在nginx.conf中增加一行,具体如图1所示
include /home/www/.htaccess;这一行,就说明你要让该文件中的rewrite配置生效
然后我们编辑.htaccess
具体代码
这几句话的意思就是让所有找不到的文件都作为url参数,传递给index.php,这个是mvc框架程序的唯一入口
然后要记得重新加载nginx配置文件,具体命令 /etc/init.d/nginx reload
有人说可以直接使用service nginx restart这样的命令来让配置文件生效,这样是不好的的,因为restart实际上包含了停止nginx服务以及开启服务两个步骤,
会导致用户访问网站时没有响应,而reload命令则没有这种问题。
然后我们写程序可以测试一下
index.php文件内容如下:
最后我们访问一下不存在的文件 http://192.168.1.111/a.php
会发现如下结果,就说明配置成功了
arrive here,111
array(1) { ["url"]=> string(5) "a.php"}
路由控制这是mvc框架的核心功能,我们可以用这种方式来保证一个入口
有人用的web服务器是apache,可以使用
这样还是很方便的。
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 |
System | Linux debian1 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u1 x86_64 |
Build Date | Oct 9 2016 22:59:11 |
有人用的web服务器是apache,可以使用
在线Apache .htaccess文件转Nginx配置文件 - aTool在线工具
网址是:http://www.atool.org/htaccess2nginx.php这样还是很方便的。
相关文章推荐
- rewrite规则中参数多于9个的处理方式 apache nginx
- socket通过nginx监听443端口,跳转到其它相关端口处理方式:
- lucene结果集的分页处理(百度 分页 方式)终于调试通过了。
- Android通过Get方式提交数据以及乱码处理
- Nginx如何通过rewrite支持各种php框架
- Android通过Get方式提交数据以及乱码处理
- nginx rewrite arg 带问号的地址转发参数处理?Nginx重定向的参数问题
- LCDS2.6不再集成webtier方式的集成(动态访问mxml和jsp嵌入mxml的tag)。需要通过集成webtier.war来处理
- MVC4常见路由的处理方式
- 使用Nginx与SVN整合(通过代理交给Apache处理)
- Nginx实战基础篇四 通过https方式访问web服务器
- nginx rewrite arg 带问号的地址转发参数处理?Nginx重定向的参数问题
- nginx php 上传漏洞的临时处理方式
- 路由方式通过Iptables解决内网绑定的公网IP问题
- 通过LVS(直接路由方式)+Keepalived实现高可用负载均衡方案
- 通过Lua解释器来扩展丰富nginx功能,实现复杂业务的处理 推荐
- 编译安装spawn-fcgi(nginx通过FastCGI方式调用PHP)
- LCDS2.6不再集成webtier方式的集成(动态访问mxml和jsp嵌入mxml的tag)。需要通过集成webtier.war来处理
- Nginx实战基础篇四 通过https方式访问web服务器
- 文件上传 通过隐藏iframe的方式来实现ajax上传文件并返回处理结果 ie乱码问题解决