thinkphp3.2.3中如何隐藏index.php及Home?
thinkphp3.2.3中如何隐藏index.php及Home模块名?我也是配置了一下实际的遇到了问题,在网上搜索了一下,总结一下写在这里供大家参考!
httpd.conf配置文件中加载了mod_rewrite.so模块
AllowOverride None 将None改为 All
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] </IfModule>
注意:
1、tp3.2.3在php5.6版本和版本以上的确会出现不能隐藏index.php,大多数伙伴只看文档里面提供的方法产生了误导。官方文档中.htaccess里面RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]在php5.6以下有用。要是php5.6或者php5.6以上就得改为RewriteRule ^(.*)$ /index.php?/$1 [L,E=PATH_INFO:$1]方能有效,(如果打开任何页面都有显示的主页,有可能是这个原因,替换一下就OK了!)
2.config.php里面设置 'URL_MODULE' => 2;
3.如果只有Home目录,没有Admin目录,还可以把Home目录隐藏。在入口文件index.php中添加一行 define('BIND_MODULE','Home');或者在config.php里面添加下面的代码配置:
// 允许访问的模块列表 'MODULE_ALLOW_LIST' => ['Home'],
评论列表