虽然之前ThinkPHP PHP框架之前也有几次安全问题,但是大部分PHP程序框架也都会使用到ThinkPHP框架。但是在伪静态处理的时候与一般的程序不同,不可以直接丢到主机目录中就可以建站使用,需要我们设置特定的根目录才可以打开网站。在前面的"ThinkPHP Apache和Nginx伪静态规则整理"文章中,主要介绍到NGINX环境下的伪静态设置违规。有网友提到ThinkPHP如何设置在APACHE主机的伪静态,以及隐藏INDEX.PHP。
如果我们是使用的虚拟主机,那你需要找主机商看看是否可以修改配置文件,或者默认主机支持THINKPHP的,然后我们只需要在HTACCESS伪静态文件中设置目录就可以,对于服务器云主机,我们可以自己设置。
第一步、加载 mod_rewrite.so
我们需要到"LoadModule rewrite_module modules/mod_rewrite.so"配置文件中确认是否加载mod_rewrite.so 模块,只需要将前面的#去掉。
第二步、修改 AllowOverride 配置
需要继续检查并修改 AllowOverride None 为 AllowOverride FileInfo Options 。
第三步、设置伪静态规则
如果我们需要在隐藏index.php文件,在其目录下添加伪静态规则.htaccess。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
如果我们根目录下有伪静态规则,那我们需要添加和修改。
第四步、更改配置文件
我们继续修改项目配置文件 Conf/config.php 。我们需要把 URL 模式配置为 2(Rewrite模式):
'URL_MODEL'=>2
最后,我们可以看到是否生效。一般服务器是没有问题的,我们重启Apache即可,如果是虚拟主机,需要问问主机商是否支持和配合修改支持。
本文出处:老蒋部落 » ThinkPHP在Apache环境设置伪静态和index.php文件隐藏 | 欢迎分享( 公众号:老蒋朋友圈 )