nginx.conf2 2.62 KB
server
    {
        listen 80;
        #listen [::]:80;
        server_name www.tp-shop.cn;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.tp-shop.cn;

       location / {
            index  index.htm index.html index.php;  
            if (!-e $request_filename){
                #地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)
                rewrite ^/(.*)$ /index.php?s=$1 last;
                break;
            }
        }
	#上面的正则能解决不带xx.php的,这条正则是为了rewrite url中带index.php/admin/admin/login这种,思路是一样的,将index.php后的字符串当成参数
	location ~ /.*\.php/ {
                rewrite ^(.*?/?)(.*\.php)(.*)$ /$2?s=$3 last;
		break;
	}
        location ~ \.php/?.*$ {
	    root  /home/wwwroot/www.tp-shop.cn;
            fastcgi_pass  unix:/tmp/php-cgi.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;           
            include fastcgi_params;
            #set $path_info "";
            #定义变量 $real_script_name,用于存放真实地址
            #set $real_script_name $fastcgi_script_name;
            #如果地址与引号内的正则表达式匹配
            #if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                #将文件地址赋值给变量 $real_script_name
                #set $real_script_name $1;
                #将文件地址后的参数赋值给变量 $path_info
                #set $path_info $2;
            #}
            #配置fastcgi的一些参数
            #fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            #fastcgi_param SCRIPT_NAME $real_script_name;
            #fastcgi_param PATH_INFO $path_info;
        }

	location ~.*\.(jpg|png|jpeg)$
      	{
	    root  /home/wwwroot/www.tp-shop.cn;
       	    #expires 30d;
        }

     # js css缓存一小时
       location ~.*\.(js|css)$ {
           root  /home/wwwroot/www.tp-shop.cn;
           #expires 1h;
       }
        include other.conf;
        #error_page   404   /404.html;
        include enable-php.conf;

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

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

        location ~ /\.
        {
            deny all;
        }
	error_log  /home/wwwlogs/www.tp-shop.cn.err;
        access_log  /home/wwwlogs/www.tp-shop.cn.log;
    }