>백엔드 개발 >PHP 튜토리얼 >location - nginx重写 index.php/ 为 i/

location - nginx重写 index.php/ 为 i/

WBOY
WBOY원래의
2016-06-06 20:30:401521검색

下面是我的CentOs服务器的nginx配置文件,现在已经正常可以访问index.php,但现在有一个重写需求,就是我输入23.abc.com/i/abc的时候重写为到23.abc.com/index.php/abc,即把index.php以i代替。请问在下面的基础上,应该如何修改?
server {

<code>    listen       80;
    server_name  23.abc.com;

    index index.html index.htm index.php;
    root  /home/wwwroot/test/;


            location ~ \.php($|/) {
                    set  $script     $uri;
                    set  $path_info  "";
                    if ($uri ~ "^(.+\.php)(/.+)") {
                            set  $script     $1;
                            set  $path_info  $2;
                    }


                    #fastcgi_pass   127.0.0.1:9000;
                    fastcgi_pass unix:/tmp/php-cgi.sock;
                    fastcgi_index  index.php;
                    include fcgi.conf;
                    fastcgi_param  SCRIPT_FILENAME    $document_root$script;
                    fastcgi_param  SCRIPT_NAME        $script;
                    fastcgi_param  PATH_INFO          $path_info;

            }

    }
</code>

回复内容:

下面是我的CentOs服务器的nginx配置文件,现在已经正常可以访问index.php,但现在有一个重写需求,就是我输入23.abc.com/i/abc的时候重写为到23.abc.com/index.php/abc,即把index.php以i代替。请问在下面的基础上,应该如何修改?
server {

<code>    listen       80;
    server_name  23.abc.com;

    index index.html index.htm index.php;
    root  /home/wwwroot/test/;


            location ~ \.php($|/) {
                    set  $script     $uri;
                    set  $path_info  "";
                    if ($uri ~ "^(.+\.php)(/.+)") {
                            set  $script     $1;
                            set  $path_info  $2;
                    }


                    #fastcgi_pass   127.0.0.1:9000;
                    fastcgi_pass unix:/tmp/php-cgi.sock;
                    fastcgi_index  index.php;
                    include fcgi.conf;
                    fastcgi_param  SCRIPT_FILENAME    $document_root$script;
                    fastcgi_param  SCRIPT_NAME        $script;
                    fastcgi_param  PATH_INFO          $path_info;

            }

    }
</code>

rewrite 23.abc.com/.*/abc 23.abc.com/index.php/abc break;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.