TP5隐藏public和index.php

时间:2024-05-22 19:43:33

个人理解:
将public下的index.php文件移动到主目录下和更改index的入口文件可以在URL去掉public

将public下的.htaccess文件复制到主目录下并更改配置是:当url地址访问不存在的文件或路径时,调用正则表达式进行替换自动补齐/index.php/。也就是说即使你加上index.php访问也不会出错。

一、Apache
1、public下的index.php入口文件和.htaccess配置文件移到TP5主目录下
TP5隐藏public和index.php
2、修改index.php文件
TP5隐藏public和index.php

https://www.kancloud.cn/manual/thinkphp5/125729
3、修改.htaccess文件

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
 
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

效果图:
TP5隐藏public和index.php
二、nginx
1、将public下的index.php入口文件移动到主目录下
2、同Apache

3.1、将nginx的nginx.conf服务器配置文件加入以下代码

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

3.2、如果应用装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

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

效果图:加不加index.php效果是一样的

TP5隐藏public和index.php
TP5隐藏public和index.php
参考:https://www.fujieace.com/thinkphp/pathinfo.html