搜尋

首頁  >  問答  >  主體

nginx開啟pathinfo模式,運行後index.php的index會被過濾

伺服器使用一鍵lnmp安裝的,開啟了pathinfo模式後發現使用header跳轉時index會被過濾。

使用的是TP系統,U方法與header location之後會出現這種情況,

#如`http://xx.com/index.php/a/b` 會變成`http://xx.com/.php/a/b`,而網址列輸入沒有問題


貼上設定檔

1 、網站conf


```

server

#    {

        listen 80;

#        listen 80;

#listen [::]:80;

        server_name xx.com ;

        index index.html index.htm index.php default.html default.htm default.php;

#.php;


#        root  /data;

        include none.conf;


        #error_page #  4041##/40      #error_page #  404 #1/40442##.

##        # Deny access to PHP files in specific directory

        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }


##        #include enable-php.conf;


        include  enable-php-pathinfo.conf;


        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

        {

        }

        location ~ .*\.(js|css)?$

##        {
#  11  

#        }

        location ~ /.well-known {

#          allow


#            allow

        location ~ /\.

        {


            deny );

## ##        access_log  xx.com.log;

#    }

##```

2、enable-php-pathinfo.conf


#```

location ~ [^/]\.php(/|$)


        {

fastcgi_

# #        }

```


3、fastcig.conf

``

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

#fastcgi_param  QUERY_STRING   meth _$Dhquery_strment_param  QUERY_STRING   meth _METmHOquery_str。 ##

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_?

##fastcgi_param DOCUMENT_URI $document_uri;


fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

##fastcgi_param SERVER_PROTOCOL $server_protocol;

##sche_#歐以外3% REsche_m HTTPS $https if_not_empty;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;






4444_c

# fastcgi_param remote_addr $ remote_addr;

# fastcgi_param remote_port_port $ remote_port;

# fastcgi_param server_addr $ server_addr $server_addr $## fastcgi_param server_addr $#server_addr $#server_addr $## fastcgi_param server_addr $#server_addr $#server_addr $

#addr $

# 只適用於PHP,如果PHP 是使用--enable-force-cgi-redirect 建構的,則需要

fastcgi_param REDIRECT_STATUS    200;

#fastcgi_? ##4、pathinfo.conf


##```######fastcgi_split_path_info ^(. ?\.php)(/.*)$;######set $path_info $fastcgi_path_info;######fastcgi_param PATH_INFO       $path_info;######try_files $fastcgi_script_name =404;### ###```############
phpcn_u21629phpcn_u216292644 天前1455

全部回覆(1)我來回復

  • ringa_lee

    ringa_lee2017-09-01 09:25:56

    index index.html index.htm index.php default.html default.htm default.php;

    你把前面的index去掉

    回覆
    0
  • Time丶Out

    大哥這個是索引的標緻,去掉就報錯了

    Time丶Out · 2017-09-07 04:49:23
    ringa_lee

    我說的是第一個index,這個不需要,刪掉就行了,留著後面帶字尾就可以了

    ringa_lee · 2017-09-07 09:33:43
  • 取消回覆