ホームページ  >  に質問  >  本文

nginx は pathinfo モードをオンにし、index.php のインデックスは実行後にフィルタリングされます。

サーバーはワンクリック lnmp を使用してインストールされていますが、pathinfo モードをオンにすると、ヘッダー ジャンプを使用するとインデックスがフィルターされることがわかります。

TP システムが使用されています。この状況は、U メソッドとヘッダーの場所の後に発生します。

たとえば、`http://xx.com/index.php/a/b` は、変更すると「http://xx.com/.php/a/b」となり、アドレスバーを入力しても問題ありません


#設定ファイルを貼り付けます

1 、サイト conf


```

server

{

listen 80;

#listen [::]:80;

サーバー名 xx.com ;

インデックス、index.html、index.htm、index.php、default.html、default.htm デフォルト。 php;

root /data;


include none.conf;

#error_page 404 /404.html;


# 特定のディレクトリ内の PHP ファイルへのアクセスを拒否します

#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { すべて拒否; }



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

{

有効期限は 30 日です;

}

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

{

有効期限は 12 時間です;


}

location ~ /.well-known {

} すべて許可;

}


location ~ /\.

{

すべて拒否;


}

access_log xx.com.log;

}


```

2.enable-php-pathinfo.conf


```

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

{


fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_indexindex.php;

include fastcgi .conf;

include pathinfo.conf;

}

```

3、fastcig.conf

```

##fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;


fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;


fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REQUEST_SCHEME $scheme;

fastcgi_param HTTPS $https if_not_empty;


fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;


#fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi _param SERVER_NAME $server_name;


# PHP のみ、PHP が --enable-force-cgi-redirect でビルドされた場合に必要です

fastcgi_param REDIRECT_STATUS 200;

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";


```


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_u216292628日前1436

全員に返信(1)返信します

  • ringa_lee

    ringa_lee2017-09-01 09:25:56

    indexindex.htmlindex.htmindex.phpdefault.htmldefault.htmdefault.php;

    前のインデックスを削除します

    返事
    0
  • Time丶Out

    兄さん、これがインデックスの魅力です。削除するとエラーが報告されます。

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

    私が話しているのは最初のインデックスです。これは必要ありません。削除してサフィックスを付けたままにしてください。

    ringa_lee · 2017-09-07 09:33:43
  • キャンセル返事