Yii 网站伪静态URL美化和虚拟域名设置 [ 2.0 版本 ]
直入正题了,前几天配置静态URL和虚拟域名,感觉应该有同学需要。
以 Yii2 为列:
1. 在配置文件 config/web.php 的 components
段中,加入如下设置
'urlManager' => [
//美化URL
'enablePrettyUrl' => true,
// 如需隐藏index.php需要'showScriptName' => false,
'showScriptName' => false,
'enableStrictParsing' => false,
//网址匹配规则, 不要求网址严格匹配,则不需要输入rules
'rules' => [
'posts' => 'post/index',
'post/<id:\d+>' => 'post/view',
'<controller>/<id:\d+>' => '<controller>/view',
],
],
2. 在 web 根目录创建 .htaccess 文件
需要命令行工具创建,cmd->
,找到根目录,我这里是 Xampp 集成环境,示列如下
命令->type null>.htaccess 为创建 .htaccess 文件
在.htaccess中键入一下内容:
RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
3. 检查 Apache 是否启用 rewrite 模块。
.htaccess 文件仅对 apache 有效,并且 apache 必须启用 rewrite 模块。
例 D:\xampp\apache\conf\httpd.conf
中
LoadModule rewrite_module modules/mod_rewrite.so
如果注释(#),取消注释即可;
PS:部分YII2的rules配置
'rules' => [
// 为路由指定一个别名简化网址
'reg' => 'user/register',
// 加id参数,这里用到了一点点正则,\d+在正则中表示至少一位的纯数字
'article/<id:\d+>' => 'article/view',
//标准的控制器/方法显示
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
//加id参数
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
// controller和action进行严格限制
'<controller:(post|comment)>/<id:\d+>/<action:(create|update|delete)>' => '<controller>/<action>',
// 包含了 HTTP 方法限定,用于restful风格的Web Server
'DELETE <controller:\w+>/<id:\d+>' => '<controller>/delete',
// 配置Web Server ,接收 *.cn09.com 域名的请求
'http://<user:\w+>.cn09.com/<lang:\w+>/profile' => 'user/profile',
]
另外虚拟主机和域名的配置,网上有很多教程,我这里就一张图说明
OK!
新手,写的不好,请见谅。
yangguangqi8
注册时间:2016-10-31
最后登录:2023-02-16
在线时长:8小时41分
最后登录:2023-02-16
在线时长:8小时41分
- 粉丝14
- 金钱1125
- 威望30
- 积分1505
共 4 条评论
对我来说,太有用了
有用就好,这也是之前有需要才总结了些,能帮到你太好了
是否有关于rules的具体解释,以及可以举一些例子吗?
这个应该是 基础版的吧 高级版的呢?
关于id配置的两个都不起作用啊