Yii2 路由重写(美化),隐藏入口文件index.php

本地测试环境:Wampserver3.0.6_x64(Windows7-x64, Apache-2.4.23, PHP-5.6.25, MySQL-5.7.14)。

1、修改apache配置文件:

   去掉LoadModule rewrite_module modules/mod_rewrite.so前的#

   将当前站点目录的AllowOverride None改为AllowOverride All

   重启apache

2、在根目录新建 ".htaccess" 文件,其内容为:

<IfModule mod_rewrite.c>
    # 开启 mod_rewrite 用于美化 URL 功能的支持(译注:对应 pretty URL 选项)
    RewriteEngine On
    
    # 如果请求的是真实存在的文件或目录,直接访问
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    # 如果请求的不是真实文件或目录,分发请求至 index.php
    RewriteRule . index.php
</IfModule>

  或者:

Options +FollowSymLinks
    IndexIgnore */*
    RewriteEngine on
    # if a directory or a file exists, use it directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    # otherwise forward it to index.php
    RewriteRule . index.php

3、修改\frontend\config\main.php文件,对前台的url进行美化:

'urlManager' => [
    'enablePrettyUrl' => true,  //路径友好化
    'showScriptName' => false,  //是否显示单入口
    'suffix' => '.html',        //添加URL后缀
    'rules' => [],              //路径规则
],

4、修改\backend\config\main.php文件,对后台的url进行美化:

'urlManager' => [
    'enablePrettyUrl' => true,  //路径友好化
    'showScriptName' => true,   //是否显示单入口
    'suffix' => '.php',         //添加URL后缀
    'rules' => [],              //路径规则
],