Yii2的高级应用程序模板中设置隐藏 index.php 步骤

//如果不想把前台和后台的域名区分开来的朋友可以看下下面这个教程.

//修改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;

}

}

至此,配置完毕.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值