一般在写项目的时候,我们都会隐藏入口文件,然后做一些路由配置。
说一下隐藏入口文件index.php。
'URL_MODEL' => 2, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式,提供最好的用户体验和SEO支持
把'URL_MODEL'设置为2,然后修改或增加.htaccess内容把所有操作都指向index.php文件
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
这样就重写了url,去掉了index.php,需要注意的是,如果访问不加index.php会报404,就可能服务器环境配置的问题
打开httpd.config 搜索
LoadModule rewrite_module modules/mod_rewrite.so
如果前边有#,去掉。
然后搜索AllowOverride
<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride none
Order allow,deny
Allow from all
Require all granted
</Directory>
将AllowOverride none 改为 AllowOverride all。AllowOverride none的意思是.htaccess 文件将被完全忽略。当此指令设置为 All 时,所有具有 “.htaccess” 作用域的指令都允许出现在 .htaccess 文件中。
完成这些,重启服务器,就可以隐藏index.php了,url美化了不少