您的位置:首页 > 运维架构 > Apache

yii2 urlManager url美化及apache下yii2 rewrite设置

2015-12-24 15:36 501 查看
近期在学习yii2框架的使用,在看别人的博客时讲到了美化url的实现

比如,默认进入about页面的时候,url是这样的http://localhost/index.php?r=site%2Fabout,只要在/config/web.php中,在components数组中加上

'urlManager'
=> [

            'showScriptName' => false,

            'enablePrettyUrl' => true

        ],

开启之后再访问about页面,路径已变为http://localhost/web/site/about

但是我在本机上使用的时候,一直报404错误,搜索过后才知道是因为apache没有开启rewrite功能

最后找到了这个博客
http://www.chenruixuan.com/archives/759.html
yii basic版:

1. 开启 apache 的 mod_rewrite 模块

去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号;

2. 修改 apache 的 AllowOverride

把 AllowOverride None 修改为 AllowOverride All;

3. 在与index.php文件同级目录(web目录)下添加文件“.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

4. 配置应用的urlManager

 

yii2.0与之前版本配置略有不同,根据文档显示:

http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html

需要在config/web.php中的components数组下增加:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName'=>false,
'rules' => [
// your rules go here
],
// ...
],


具体可用属性,可查阅API文档。

最后终于好使了~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  yii apache rewrite