thinkphp hides index.php/home and allows access to other modules
想要达成的效果很简单,我有两个模块,Home、Wechat。
<span class="wmd-input-section" style="font-size: 18px;"><span class="token p"><span class="token url">http://localhost/index.php/home/index/index 缩短为: <span class="token url">http://localhost/index/index<span class="token lf"><span class="token lf"> <span class="token p"><span class="token url">http://localhost/index.php/wechat/index/index 缩短为: <span class="token url">http://localhost/wechat/index/index<br /><br /></span></span></span></span></span></span></span></span></span>
Copy after login
<span id="wmd-input-section-2" class="wmd-input-section" style="font-size: 18px;"><span class="token p">隐藏index.php,这个比较简单,我开启.htaccess的支持就行,具体配置执行百度吧,我用的是apache2,建立一个软连接就成</span></span>
Copy after login
Copy after login
Copy after login
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Copy after login
Copy after login
Copy after login
重启服务
然后,什么都不用做,index.php就被隐藏了
<span style="color: #0000ff;"><</span><span style="color: #800000;">IfModule </span><span style="color: #ff0000;">mod_rewrite.c</span><span style="color: #0000ff;">></span><span style="color: #000000;"> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </span><span style="color: #0000ff;"></</span><span style="color: #800000;">IfModule</span><span style="color: #0000ff;">></span>
Copy after login
这就是ThinkPHP默认的.htaccess文件内容,可以看到,index.php已经可以被省略了
然后就是home的隐藏,如果我们直接在.htaccess文件中写上home,那么,其他的模块我们就无法访问了,就只有使用thinkphp提供的机制了
这里说法就很多了,但我发现,大多都直说了一部分,都没人说完整的。
我的做法是这样的
在Common/Conf/config.php中加入配置
'DEFAULT_MODULE' => 'Home', 'MODULE_ALLOW_LIST' => <span style="color: #0000ff;">array</span>('Home','Wechat')
Copy after login
<span id="wmd-input-section-5" class="wmd-input-section" style="font-size: 18px;"><span class="token p">其中‘MODULE<span class="token em"><span class="token md md-em md-start">_ALLOW<span class="token md md-em md-close">_LIST’的值是你所有允许访问的模块名,只有写在这里面的模块才能被访问。<span class="token lf"> <span class="token lf"> <span class="token p">最后,很多人说的在index.php中加入</span></span></span></span></span></span></span></span><br /><br />
Copy after login
<span style="color: #008080;">define</span>('BIND_MODULE','Home');
Copy after login
<span id="wmd-input-section-6" class="wmd-input-section" style="font-size: 18px;"><span class="token p">不建议这样这,这样的配置,你的项目就只有Home模块能被访问了,如果有多个模块呢???难道使用?m=&c=&a=这种丑陋的形式??</span></span>
Copy after login
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article
How to fix KB5055523 fails to install in Windows 11?
3 weeks ago
By DDD
How to fix KB5055518 fails to install in Windows 10?
3 weeks ago
By DDD
Roblox: Dead Rails - How To Tame Wolves
4 weeks ago
By DDD
Roblox: Grow A Garden - Complete Mutation Guide
2 weeks ago
By DDD
Strength Levels for Every Enemy & Monster in R.E.P.O.
4 weeks ago
By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics
Java Tutorial
1657
14


CakePHP Tutorial
1415
52


Laravel Tutorial
1309
25


PHP Tutorial
1257
29


C# Tutorial
1230
24

