这篇文章将为大家详细讲解有关tp5.0框架如何隐藏index.php入口文件及模块和控制器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1. 隐藏入口文件:
[ IIS ]
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<rewrite> <rules> <rule name="OrgPage" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_HOST}" pattern="^(.*)$" /> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php/{R:1}" /> </rule> </rules> </rewrite>
[ Apache ]
httpd.conf配置文件中加载了mod_rewrite.so模块
AllowOverride None 将None改为 All
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]//此处与官网不同,官网是这样写,尝试不中,修改成一下可以 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule>
2. 模块和控制器隐藏:
public目录下的index.php入口文件里添加define('BIND_MODULE', 'index/index');,如下:
<?php // [ 应用入口文件 ] define('BIND_MODULE', 'index/index'); // 定义应用目录 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架引导文件 require __DIR__ . '/../thinkphp/start.php';
设置后,我们的URL访问地址则变成:
http://serverName/index.php/操作/[参数名/参数值...]
扩展:
tp5.1隐藏控制器和模块与5.0不同,入口文件中修改如下:
Container::get('app')->bind('index/index')->run()->send()
关于“tp5.0框架如何隐藏index.php入口文件及模块和控制器”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。