yii2高级模板使用一个域名管理前后台(url重写)

33 篇文章 0 订阅

前台使用 advanced.com访问,后台使用 advanced.com/admin访问

1.修改 advanced/backend/config/main.php

return [  
    'homeUrl' => '/admin',  
    'components' => [  
        'request' => [  
            'baseUrl' => '/admin',  
        ],  
        'urlManager' => [  
            'enablePrettyUrl' => true,  
            'showScriptName' => false,  
        ],  
    ],  
];

2.同样修改 advanced/frontend/config/main.php 文件

return [  
    'homeUrl' => '/',  
    'components' => [  
        'request' => [  
            'baseUrl' => '/',  
        ],  
        'urlManager' => [  
            'enablePrettyUrl' => true,  
            'showScriptName' => false,  
        ],  
    ],  
];

3.配置域名解析:

<VirtualHost *:80>  
    ServerName advanced.com  
    ServerAlias www.advanced.com  

    DocumentRoot "/path/to/advanced"  
    <Directory "/path/to/advanced">  
        AllowOverride All  
    </Directory>  
</VirtualHost>

4.新建一个.htaccess文件,写入一下内容。放在项目根目录advacnced下:

RewriteEngine on

RewriteCond %{REQUEST_URI} ^/admin/$
RewriteRule ^(admin)/$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/admin  
RewriteRule ^admin(/.+)?$ /backend/web/$1 [L,PT]  

RewriteCond %{REQUEST_URI} ^.*$  
RewriteRule ^(.*)$ /frontend/web/$1

5.再次新建一个.htaccess文件,写入以下内容,在frontend/web和backend/web下分别放一个

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

如果服务器是nginx,则更改nginx.conf文件

server {
        listen       80;
        server_name bu.cn;
        charset      utf-8;

        root         /website/www/bu;  

        #access_log   /path/to/logs/advanced.access.log main buffer=50k;  
        #error_log    /path/to/logs/advanced.error.log warn;


        location / {

            root  /website/www/bu/frontend/web;
            try_files  $uri /frontend/web/index.php?$args;
            location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|mp3|mp4|ttf|woff|svg|eot|txt|html|htm)$ {  
                access_log  off;  
                expires  360d;
                try_files  $uri =404;  
            }  
        }  

        location /admin {
            alias  /website/www/bu/backend/web;
            rewrite  ^(/admin)/$ $1 permanent;  
            try_files  $uri /backend/web/index.php?$args;  
        }

        location ~ ^/admin/(.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar|mp3|mp4|ttf|woff|svg|eot|txt|html|htm))$ {  
            access_log  off;  
            expires  360d;
            rewrite  ^/admin/(.+)$ /backend/web/$1 break;  
            rewrite  ^/admin/(.+)/(.+)$ /backend/web/$1/$2 break;  
            try_files  $uri =404;
        }

        #location /uploads {
            #root  /website/www/bu/uploads;
        #}
        #location ~ ^/uploads/(.+)$ {
            #try_files  $uri =404;  
        #}

        location /uploads/ {
            if (!-f $request_filename){
                set $rule_0 1$rule_0;
            }
        }


        location ~ \.php$ {  
            include  fastcgi_params;  
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
            try_files  $uri =404;
        }
        #error_page  404 /404.html;  

        location = /requirements.php {  
            #deny all;  
        }  

        location ~ \.(ht|svn|git) {  
            deny all;  
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值