前台使用 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;
}
}