'Home'," to config.php; 2. Add "define('BIND_MODULE','Home');" to index.php."/> 'Home'," to config.php; 2. Add "define('BIND_MODULE','Home');" to index.php.">

Home >PHP Framework >ThinkPHP >How to hide home in thinkphp5

How to hide home in thinkphp5

藏色散人
藏色散人Original
2021-12-21 10:42:262303browse

thinkphp5隐藏home的方法:1、在config.php中加入配置“'DEFAULT_MODULE' => 'Home',”;2、在index.php中加入“define('BIND_MODULE','Home');”。

How to hide home in thinkphp5

本文操作环境:Windows7系统、thinkphp v5.1版、Dell G3电脑。

thinkphp5 怎么隐藏home?

thinkphp隐藏index.php/home并允许访问其他模块的实现方法:

想要达成的效果很简单,我有两个模块,Home、Wechat。

http://localhost/index.php/home/index/index 缩短为: http://localhost/index/index
http://localhost/index.php/wechat/index/index 缩短为: http://localhost/wechat/index/index

隐藏index.php,这个比较简单,我开启.htaccess的支持就行,具体配置执行百度吧,我用的是apache2,建立一个软连接就成

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

重启服务

然后,什么都不用做,index.php就被隐藏了

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

这就是ThinkPHP默认的.htaccess文件内容,可以看到,index.php已经可以被省略了

然后就是home的隐藏,如果我们直接在.htaccess文件中写上home,那么,其他的模块我们就无法访问了,就只有使用thinkphp提供的机制了

这里说法就很多了,但我发现,大多都直说了一部分,都没人说完整的。

我的做法是这样的

在Common/Conf/config.php中加入配置

&#39;DEFAULT_MODULE&#39; => &#39;Home&#39;,
&#39;MODULE_ALLOW_LIST&#39; => array(&#39;Home&#39;,&#39;Wechat&#39;)

其中‘MODULE_ALLOW_LIST'的值是你所有允许访问的模块名,只有写在这里面的模块才能被访问。

最后,很多人说的在index.php中加入

define(&#39;BIND_MODULE&#39;,&#39;Home&#39;);

推荐学习:《最新的10个thinkphp视频教程

The above is the detailed content of How to hide home in thinkphp5. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn