Blogger Information
Blog 1
fans 0
comment 0
visits 839
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
yii2高级模板使用一个域名管理前后台
搜寻过去
Original
842 people have browsed it
  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.loc  
    ServerAlias www.advanced.loc  
  
    DocumentRoot "/path/to/advanced"  
    <Directory "/path/to/advanced">  
        AllowOverride All  
    </Directory>  
</VirtualHost>

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

# prevent directory listings  
Options -Indexes  
# follow symbolic links  
Options FollowSymlinks  
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下分别放一个。

# use mod_rewrite for pretty URL support  
RewriteEngine on  
# if a directory or a file exists, use the request directly  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
# otherwise forward the request to index.php  
RewriteRule . index.php

如果服务器是nginx,则更改nginx.cong文件,写入以下内容,具体路径根据自身实际情况进行修改:

[plain] view plain copy

server {  

    charset      utf-8;  

    client_max_body_size  200M;  

  

    listen       80; ## listen for ipv4  

    #listen       [::]:80 default_server ipv6only=on; ## listen for ipv6  

  

    server_name  advanced.loc;  

    root         /path/to/advanced;  

  

    access_log   /path/to/logs/advanced.access.log main buffer=50k;  

    error_log    /path/to/logs/advanced.error.log warn;  

  

    location / {  

        root  /path/to/advanced/frontend/web;  

  

        try_files  $uri /frontend/web/index.php?$args;  

  

        # avoiding processing of calls to non-existing static files by Yii  

        location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {  

            access_log  off;  

            expires  360d;  

  

            try_files  $uri =404;  

        }  

    }  

  

    location /admin {  

        alias  /path/to/advanced/backend/web;  

  

        rewrite  ^(/admin)/$ $1 permanent;  

        try_files  $uri /backend/web/index.php?$args;  

    }  

  

    # avoiding processing of calls to non-existing static files by Yii  

    location ~ ^/admin/(.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar))$ {  

        access_log  off;  

        expires  360d;  

  

        rewrite  ^/admin/(.+)$ /backend/web/$1 break;  

        rewrite  ^/admin/(.+)/(.+)$ /backend/web/$1/$2 break;  

        try_files  $uri =404;  

    }  

  

    location ~ \.php$ {  

        include  fastcgi_params;  

        # check your /etc/php5/fpm/pool.d/www.conf to see if PHP-FPM is listening on a socket or port  

        fastcgi_pass  unix:/var/run/php5-fpm.sock; ## listen for socket  

        #fastcgi_pass  127.0.0.1:9000; ## listen for port  

        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;  

    }  

}  


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post