yangguangqi8 2016-10-28 09:26:27 16103次浏览 4条评论 15 5 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 集成环境,示列如下
1.png

命令->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',
]


另外虚拟主机和域名的配置,网上有很多教程,我这里就一张图说明

2.png

OK!

新手,写的不好,请见谅。

觉得很赞
您需要登录后才可以评论。登录 | 立即注册