您的位置:首页 > 运维架构 > Nginx

ThinkPHP3.2.3+Nginx的伪静态配置

2016-05-17 10:06 513 查看
用TP框架开发的公司项目,URL模式是REWRITE模式('URL_MODEL' => 2,),上传至服务器,发现URL重写这块出现了问题,于是研究了一下,找到了答案,写下备忘:

server
{
listen 80;
server_name www.vc.cn;

index index.php;
root  /data/wwwroot/vc;

#error_page   404   /404.html;
location /
{
index index.php;
#ThinkPHP REWRITE支持
if (!-e  $request_filename) {
rewrite ^/(.*)$ /index.php?s=$1 last;
}

#301 跳转设置
if ($host = 'vc.cn') {
rewrite ^/(.*) http://www.vc.cn/$1 permanent;
}

}

location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
}

location ~ .*\.(js|css)?$
{
expires      12h;
}

access_log  /home/wwwlogs/vc.log  access;
}


如以上代码注释【#ThinkPHP REWRITE支持】。

如果ThinkPHP项目安装在二级目录,Nginx的伪静态方法设置如下,其中subdir是所在的目录名称

location /subdir/ {
if (!-e $request_filename){
rewrite  ^/subdir/(.*)$  /subdir/index.php?s=$1  last;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: