nginx下配置Yii2 rewrite、pathinfo等

 环境说明:

我试用的lnmp安装包安装的nginx,nginx版本是1.14.1

 server {
    listen 80;
    server_name www.baidu.com;
    #access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/wechatadmin/backend/web;
    #root /data/wwwroot/game;
    index index.html index.htm index.php;
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }
    location ~ [^/]\.php(/|$) {
      #fastcgi_pass remote_php_ip:9000;
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
      expires 30d;
      access_log off;
    }
    location ~ .*\.(js|css)?$ {
      expires 7d;
      access_log off;
    }
    location ~ /\.ht {
      deny all;
    }

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    if (!-d $request_filename)
    {
        rewrite ^/(.+)/$ /$1 permanent;
    }

    # 去除index action
    if ($request_uri ~* index/?$)
    {
        rewrite ^/(.*)/index/?$ /$1 permanent;
    }

    # 根据laravel规则进行url重写
      if (!-e $request_filename)
      {
          rewrite ^/(.*)$ /index.php?/$1 last;
          break;
      }
      #error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   html;
      }
  }

原文地址:https://www.cnblogs.com/IT--Loding/p/10368499.html

时间: 2024-10-17 03:34:13

nginx下配置Yii2 rewrite、pathinfo等的相关文章

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式

Nginx下支持ThinkPHP的Pathinfo和URl Rewrite模式 BY 孙 权 · 2014年8月6日 我的环境 系统 : Ubuntu12.04 x86_64 环境 : Nginx1.1.19+PHP5.3.10+Mongo2.6.3 由于公司要用Nginx+Mongo+PHP,所以我要把刚刚配置好的LAMP推翻,然后重新安装LNMP.软件安装就不在这里介绍了,如果有需要,可以看这里. 如何安装Nginx. 下面介绍如何使Nginx支持ThinkPHP的Pathinfo和URL

nginx下laravel框架rewrite的设置

nginx下laravel框架rewrite的设置 百牛信息技术bainiu.ltd整理发布于博客园 在nginx的vhost站点配置文件中加入以下内容即可 1 2 3 4 5 6 7 8 9 10 if (!-d$request_filename) {     rewrite ^/(.+)/$ /$1 permanent; }if ($request_uri ~* index/?$) {     rewrite ^/(.*)/index/?$ /$1 permanent; }if (!-e$r

TP3.2 Nginx下配置ThinkPhp多入口访问

thinkphp多入口配置后,入口index.php指向应用目录=>app,入口admin.php指向后台管理目录=>admin在nginx下设置伪静态(在nginx的配置文件中): #ThinkPHP REWRITE支持if (!-e $request_filename) {rewrite ^/(.*)$ /index.php?s=$1 last;} 配置后,www.abc.com/index.php可以正常访问,www.adc.com/admin.php访问文件不存在错误! 解决方案:一个

nginx下配置虚拟主机的三种方法

nginx下,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机--应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机--应用:公司内部网站,外部网站的管理后台 3.基于ip的虚拟主机,几乎不用. 基于域名配置虚拟主机步骤: 需要建立/data/www /data/bbs目录,windows本地hosts添加虚拟机ip地址对应的域名解析:对应域名网站目录下新增index.html文件:  nginx.conf配置文件新增如下代码: server {

nginx下配置多站点

http://www.linuxidc.com/Linux/2011-07/38125.htm img.xxxx.com nginx   configTest add_header Access-Control-Allow-Origin *;log_format zuren  '$remote_addr - $remote_user [$time_local] '                    '$request_time $upstream_response_time "$reques

Nginx下配置网站SSL实现https访问本站就是用的这方法

本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建的lnamp环境,具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnamp环境创建你的网站,已有网站的,确保你的程序在lnamp下能够正常的运行,以wordpress为例,lamp跟lnamp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免费的

NGINX下配置CACHE-CONTROL

HTTP协议的Cache -Control指定请求和响应遵循的缓存机制.在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程.请求时的缓存指令包括no-cache.no-store.max-age. max-stale.min-fresh.only-if-cached等.响应消息中的指令包括public.private.no-cache.no- store.no-transform.must-revalidate.proxy-revalidate.m

Nginx 下配置SSL证书的方法

1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下: 下载 Nginx 0.7.64 版本,解压 进入解压目录: 复制代码代码如下: wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz tar zxvf nginx-0.7.64.tar.gz cd nginx-0.7.64 如果要更改header