【注意】最后更新于 December 10, 2019,文中内容可能已过时,请谨慎使用。
yii2 关于 apache 和 nginx 的路由重写配置
apache路由重写
1
2
3
4
5
6
7
8
9
10
|
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
|
从yiichina那里推荐的apache路由重写方案直接改服务器的配置文件影响太大了,我们需要把它限制在这个项目里,这样更方便操作了
需要开启 apache 的 rewrite 模块
参考了一下laravel的路由重写方案,首先在你的根目录下 your-app/web
创建一个文件
.htaccess
文件内容如下
1
2
3
4
5
6
7
8
9
|
<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>
|
nginx路由重写
1
2
3
4
5
|
location / {
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
|
conf/web.php 中的 ‘components’数组是这样的
1
2
3
4
5
6
|
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
],
],
|
文章作者
GPF
上次更新
2019-12-10
(77997d9)