nginx反向代理配置|nginx配置yii2.0重写的例子

更新时间:2020-09-19    来源:apache    手机版     字体:

【www.bbyears.com--apache】

apache和nginx比起来,我更倾向nginx,占用资源少,且性能高,不管是开发还是生产环境都很好用。那么,如何配置nginx让其支持yii2.0的访问呢?

配置范例如下:

server {
    listen       80;
    server_name  reson.com;

    location / {
        root   D:/wwwroot/reson/web;
        index  index.html index.php;
  if (!-e $request_filename){
   rewrite ^/(.*) /index.php last;
  }
    }

 location ~ \.php$ {
  root           D:/wwwroot/reson/web;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
 }

}

扩展一下,如果想让yii2.0在nginx下支持rewrite路由(pathinfo)的形式访问的话

一.配置yii2.0。
打开config目录下的web.php,在$config = [ "components"=>[ 加到这里 ] ]中加入:
"urlManager" => [
  "enablePrettyUrl" => true,
  "showScriptName" => false,
  "rules" => [
  ],
],
yii配置pathinfo
此时,yii2.0已经支持以pathinfo的形式访问了,如果此时访问不了,继续往下看。

二.配置web服务器。
1.如果是apache,在入口文件(index.php)所在的目录下新建一个文本文件,接着另存为.htaccess,用记事本打开此文件加入:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
保存即可。

2.如果是nginx,在nginx配置文件中加入:
server {
 listen       80;
 server_name  www.111cn.net;

 location / {
  root   E:/wwwroot/yii2.0;
  index  index.html index.php;
  if (!-e $request_filename){
   rewrite ^/(.*) /index.php last;
  }
 }

 location ~ \.php$ {
  root           E:/wwwroot/yii2.0;
  fastcgi_pass   127.0.0.1:9000;
  fastcgi_index  index.php;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  include        fastcgi_params;
 }
}

三:重启web服务器。

本文来源:http://www.bbyears.com/jiaocheng/99747.html

热门标签

更多>>

本类排行