ThinkPHP在nginx下url重写Rewrite规则伪静态
时间:2017-06-12 23:17 来源:linux.it.net.cn 作者:IT
近日,将前同事使用ThinkPHP开发的一个系统搬到nginx下,但发现竟然无法进行url重写,原来是因为ThinkPHP使用pathinfo模式实现重写,而nginx默认是不带pathinfo。
ThinkPHP在app/Conf/config.php可以配置URL_MODEL选项,有三种类型:
1. URL_MODEL => 1,默认支持pathinfo
2. URL_MODEL => 2,url重写模式,通过配置url重写来实现
3. URL_MODEL => 3,URL兼容模式,需要生成URL的地方采用U方法动态生成
这里,我们选择2,配置url重写模式,然后配置nginx:
# 在server段location /加载此内容
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
reload nginx,就可以访问了。 (责任编辑:IT)
近日,将前同事使用ThinkPHP开发的一个系统搬到nginx下,但发现竟然无法进行url重写,原来是因为ThinkPHP使用pathinfo模式实现重写,而nginx默认是不带pathinfo。 ThinkPHP在app/Conf/config.php可以配置URL_MODEL选项,有三种类型: 1. URL_MODEL => 1,默认支持pathinfo 2. URL_MODEL => 2,url重写模式,通过配置url重写来实现 3. URL_MODEL => 3,URL兼容模式,需要生成URL的地方采用U方法动态生成 这里,我们选择2,配置url重写模式,然后配置nginx: # 在server段location /加载此内容 location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } reload nginx,就可以访问了。 (责任编辑:IT) |