//如果不想把前台和后台的域名区分开来的朋友可以看下下面这个教程.
//修改advanced/backend/config/main.php文件如下:
return[
'homeUrl'=>'/admin',
'components'=>[
'request'=>[
'baseUrl'=>'/admin',
],
'urlManager'=>[
'enablePrettyUrl'=>true,
'showScriptName'=>false,
],
],
];
//同样修改advanced/frontend/config/main.php文件:
return[
'homeUrl'=>'/',
'components'=>[
'request'=>[
'baseUrl'=>'',
],
'urlManager'=>[
'enablePrettyUrl'=>true,
'showScriptName'=>false,
],
],
];
?>
接着设置服务器,这里先以apache为例.
首先设置一下虚拟主机:
<VirtualHost*:80>
ServerNamea.yii2g.com
DocumentRoot"D:/wamp/www/yii2g_t/"
<Directory"D:/wamp/www/yii2g_t/">
AllowOverrideAll
</Directory>
</VirtualHost>
然后在站点根目录下创建.htaccess文件为:
#preventdirectorylistings
Options-Indexes
#followsymboliclinks
OptionsFollowSymlinks
RewriteEngineon
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
然后在advanced/backend/web目录中创建.htaccess文件,内容如下:
#usemod_rewriteforprettyURLsupport
RewriteEngineon
#ifadirectoryorafileexists,usetherequestdirectly
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
#otherwiseforwardtherequesttoindex.php
RewriteRule.index.php
然后在advanced/frontend/web目录中复制一份上面的.htaccess文件
Nginx下的环境配置
Nginx下的配置可能稍微复杂一些,这里直接贴出配置,大家请根据自己的需要进行相应的修改:
server{
charsetutf-8;
client_max_body_size200M;
listen80;##listenforipv4
#listen[::]:80default_serveripv6only=on;##listenforipv6
server_nameadvanced.loc;
root/path/to/advanced;
access_log/path/to/logs/advanced.access.logmainbuffer=50k;
error_log/path/to/logs/advanced.error.logwarn;
location/{
root/path/to/advanced/frontend/web;
try_files$uri/frontend/web/index.php?$args;
#avoidingprocessingofcallstonon-existingstaticfilesbyYii
location~\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)${
access_logoff;
expires360d;
try_files$uri=404;
}
}
location/admin{
alias/path/to/advanced/backend/web;
rewrite^(/admin)/$$1permanent;
try_files$uri/backend/web/index.php?$args;
}
#avoidingprocessingofcallstonon-existingstaticfilesbyYii
location~^/admin/(.+\.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar))${
access_logoff;
expires360d;
rewrite^/admin/(.+)$/backend/web/$1break;
rewrite^/admin/(.+)/(.+)$/backend/web/$1/$2break;
try_files$uri=404;
}
location~\.php${
includefastcgi_params;
#checkyour/etc/php5/fpm/pool.d/www.conftoseeifPHP-FPMislisteningonasocketorport
fastcgi_passunix:/var/run/php5-fpm.sock;##listenforsocket
#fastcgi_pass127.0.0.1:9000;##listenforport
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
try_files$uri=404;
}
#error_page404/404.html;
location=/requirements.php{
denyall;
}
location~\.(ht|svn|git){
denyall;
}
}
至此,配置完毕.