Heim  >  Artikel  >  Backend-Entwicklung  >  location - nginx重写 index.php/ 为 i/

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

WBOY
WBOYOriginal
2016-06-06 20:30:401444Durchsuche

下面是我的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;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn