让Nginx支持SCRIPT_URL

由于访问增加,将服务器由apache转换到了nginx。
由于框架底层里用到了SCRIPT_URL,需要配置nginx支持这个参数。

特记录配置:

server {
                listen 80;
                server_name test.com;

                root /data/www;

                location / {
                  index index.php;
                }

                if ( $fastcgi_script_name ~ \..*\/.*php ) {
                        return 403;
                }

                # if the request file name contains one of the below extensions,
                # serve it directly
                if ($request_filename ~* \.(js|ico|gif|jpg|png|css|xml|php|txt)$) {
                  break;
                }

                # otherwise, /index.php handles the request
                rewrite ^(.*)$ /index.php$1 last;

                location ~ ^(?P.+\.php)(?P.*)$ {
                  include fastcgi_params;
                  fastcgi_param PATH_INFO $PATH_INFO;
                  fastcgi_param DOCUMENT_ROOT /data/www;
                  fastcgi_param PATH_TRANSLATED $document_root$PATH_INFO;
                  fastcgi_param SCRIPT_FILENAME $document_root$SCRIPT_FILENAME;

                  fastcgi_index index.php;
                  fastcgi_param RUN_MODE production;

                  # Attention!  Both PHP_SELF and SCRIPT_NAME must contain the same value,
                  # but they don't!
                  fastcgi_param PHP_SELF $uri;
                  fastcgi_param SCRIPT_NAME $uri;

                  # set SCRIPT_URL/SCRIPT_URI for compatibility
                  fastcgi_param SCRIPT_URL $PATH_INFO;
                  fastcgi_param SCRIPT_URI $scheme://$http_host$PATH_INFO;

                  fastcgi_param PHP_VALUE "include_path=$document_root:$document_root/include";

                  try_files $SCRIPT_FILENAME =404;
                  fastcgi_pass  unix:/tmp/php-fcgi-faq.sock;
                }
}

标签: none

仅有一条评论

  1. liuyang liuyang

    亲啥时候写的

添加新评论