nginx 重写规则!

#访问$uri
#if exists $uri -> 访问他
#if $uri is not end of / and exists /Vhosts/$http_host/$uri ->访问他
#if $uri is end of / and exists /Cache/$http_host/$uri/index.html -> 访问他
#否则 $uri -> /index.php
#结束(by [email protected] -如有错误请联系)

server {
   listen       80;
   server_name  game1.wap.loc game2.wap.loc game3.wap.loc wap.loc www.wap.loc;

   location / {
      root   d:/dev_wap;
      index  index.html index.htm index.php;
      try_files $uri /Vhosts/$http_host/$uri /Cache/$http_host/$uri/index.html @rewrite;    

      location ~ \.php$ {
         try_files $uri =404;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         include        fastcgi_params;
      }
   }

   location @rewrite {
      rewrite [^\/]$ $uri/ redirect;
      rewrite . /index.php?s=$uri&$args last;
   }

   #error_page  404              /404.html;

   # redirect server error pages to the static page /50x.html
   #

   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
      root   html;
   }

   location ~ /\.(ht|svn|git) {
      deny all;
   }
}
时间: 2024-10-13 22:48:59

nginx 重写规则!的相关文章

Yaf:nginx重写规则

try_files $uri $uri/ /index.php$is_args$args; 将这行代码放在server{}块里面即可. 解释一下含义: 首先是nginx的try_files指令,当一个请求发生时,比如"/abc",它会检查"/abc"($uri)文件是否存在以及"/abc/"($uri/)目录是否存在,如果不存在,则重定向到最后一个参数"/index.php$is_args$args". 我们知道index.p

Nginx 重写规则指南1

作者:运维生存时间 - 默北 链接:www.ttlsa.com/nginx/nginx-rewriting-rules-guide/ 当运维遇到要重写情况时,往往是要程序员把重写规则写好后,发给你,你再到生产环境下配置.对于重写规则说到底就是正则匹配,做运维的岂能对正则表达式不了解的?最起码最基本的正则表达式会写.套用一句阿里的话(某网友说是阿里说的,不清楚到底是不是出自阿里)“不懂程序的运维,不是好运维:不懂运维的开发,不是好开发.”. 正则表达式也是一门语言哈.当你学习一门语言时,必然会遇到

Nginx 重写规则指南

作者:运维生存时间 - 默北 链接:www.ttlsa.com/nginx/nginx-rewriting-rules-guide/ 当运维遇到要重写情况时,往往是要程序员把重写规则写好后,发给你,你再到生产环境下配置.对于重写规则说到底就是正则匹配,做运维的岂能对正则表达式不了解的?最起码最基本的正则表达式会写.套用一句阿里的话(某网友说是阿里说的,不清楚到底是不是出自阿里)“不懂程序的运维,不是好运维:不懂运维的开发,不是好开发.”. 正则表达式也是一门语言哈.当你学习一门语言时,必然会遇到

CI框架下nginx重写规则

因为: server { listen 80; server_name 222.73.130.124; location / { index index.html index.htm index.php; root /data0/htdocs/www; if (!-e $request_filename) { rewrite "^/(.*)$" /index.php last;//这一条很重要 } rewrite ^/$/index.php last; } location ~ .*\

大发彩票盘口平台,带独立代理后台thinkphp5.0配置nginx重写规则

大发彩票盘口平台,带独立代理后台thinkphp5.0配置nginx重写规则程序源码参数说明: 运行环境:php5.2+mysql 界面语言:简体中文 源码授权:无加密文件及认证授权,永久性可直接使用. 版本支持:PC/WAP网页版 编程语言:PHP 手机版独家对接的,完整无错! 此源码经过测试人员实测截图,保证100%和截图一致!!! server {listen 80; #端口号server_name demo.aa.com; #域名access_log /data/rootlogs/dem

[转帖]Nginx 重写规则指南

Nginx 重写规则指南 https://linux.cn/article-5229-1.html 作者: 默北 | 2015-04-09 09:54   评论: 1 收藏: 10 当运维遇到要重写情况时,往往是要程序员把重写规则写好后,发给你,你再到生产环境下配置.对于重写规则说到底就是正则匹配,做运维的岂能对正则表达式不了解的?最起码最基本的正则表达式会写.套用一句阿里的话(某网友说是阿里说的,不清楚到底是不是出自阿里)“不懂程序的运维,不是好运维:不懂运维的开发,不是好开发.”. 正则表达

Laravel的Nginx重写规则完整代码

laravel基本重写规则 location / { index index.html index.htm index.php; try_files $uri $uri/ /index.php?$query_string ; } 去除末尾的斜杠,SEO更加友好 if (!-d $request_filename) { rewrite ^/(.+)/$ /$1 permanent; } 去除index action if ($request_uri ~* index/?$) { rewrite ^

nginx重写规则报nginx: [emerg] directive "rewrite" is not terminated by ";"

对于下面的重写规则 rewrite ^/gongying/([\d]{8})_([\d]+).html$ /index.php?app=support&act=view&pts=$1&support_id=$2 last; 始终报: nginx: [emerg] directive "rewrite" is not terminated by ";"  测到最后发现原来是{}惹的祸,用引号引起来就没问题了

Nginx重写规则

Nginx的重写规则,依赖于pcre库(perl compatible regular expression).所以在安装的时候一定要让nginx支持这个功能,以及安装pcre-devel,prce. nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为 区分大小写但不匹配 及 不区分大小写但不匹配 ^~ URI    不使用正则匹配,可用使用元字符匹配 文件及目录匹配 -f和!-f用来判断是否存在文件 -d和!-d用来判断是

nginx重写规则配置

https://segmentfault.com/a/1190000002797606 location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents