普通
首先确认apache2配置
1. 开启 apache 的 mod_rewrite 模块
去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;
2. 修改 apache 的 AllowOverride
把 AllowOverride None 修改为 AllowOverride All;
在/config/web.php中 ’components‘=>[]中添加如下代码:
‘urlManager‘ => [
‘enablePrettyUrl‘ => true,
‘showScriptName‘ => false,//隐藏index.php
//‘enableStrictParsing‘ => false,
‘suffix‘ => ‘.html‘,//后缀,如果设置了此项,那么浏览器地址栏就必须带上.html后缀,否则会报404错误
‘rules‘ => [
//‘/‘=>‘/‘,
],
],
我们还需在index.php同级的目录下添加.htaccess文件:
打开记事本,输入以下代码:
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
然后保存在与入口文件index.php同级的目录下,也就是/web目录下,文件名自己填.htaccess,文件类型选择 所有文件 (*.*) ,然后保存即可。
最后测试OK了
高级
修改 advanced/backend/config/main.php 文件如下:
return[‘homeUrl‘ => ‘/admin‘,
‘components‘ =>[‘request‘ =>[‘baseUrl‘ => ‘/admin‘,],
‘urlManager‘ =>[‘enablePrettyUrl‘ => true,
‘showScriptName‘ => false,],],];
同样修改 advanced/frontend/config/main.php 文件:
return[‘homeUrl‘ => ‘/‘,
‘components‘ =>[‘request‘ =>[‘baseUrl‘ => ‘‘,],
‘urlManager‘ =>[‘enablePrettyUrl‘ => true,
‘showScriptName‘ => false,],],];
然后在 advanced/backend/web 目录中创建 .htaccess 文件,advanced/frontend/web 相同.htaccess 文件 内容如下:
#use mod_rewrite for pretty URL support
RewriteEngine on#if a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond%{REQUEST_FILENAME} !-d#otherwise forward the request to index.php
RewriteRule . index.php
至此,配置完毕.
原文:https://www.cnblogs.com/5aiQ/p/9430750.html