nginx服务器 配置 ThinkPHP隐藏Index.php

最近在使用Nginx 服务器运行tp5 产品时需要用到,隐藏入口文件。因为以前使用Apache比较多,所以记录一下解决方法。

server {
        listen       80;
        server_name  api.com api.cn;
        root   "E:\phpstudy\PHPTutorial\WWW\WechatApi.com\public";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        if (!-e $request_filename) {
             rewrite  ^(.*)$  /index.php?s=/$1  last;
             break;
            }
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

真正起作用的是这一段配置:

if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
}

但是注意要放在 location / { } 中。

更多内容请参考 thinkphp5 的 nginx 配置文件

你可能感兴趣的:(nginx服务器 配置 ThinkPHP隐藏Index.php)