Nginx Rewrite规则详解

Rewrite规则含义就是某个URL重写成特定的URL,从某种意义上说为了美观或者对搜索引擎友好,提高收录量及排名等。

Rewrite规则的最后一项参数为flag标记,支持的flag标记主要有以下几种:

1)    last :相当于Apache里的(L)标记,表示完成rewrite;

2)    break;本条规则匹配完成后,终止匹配,不再匹配后面的规则 

3)    redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址 

4)    permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址 

5)       last和break用来实现URL重写,浏览器地址栏URL地址不变。

a)       例如用户访问www.test.com,想直接跳转到网站下面的某个页面,www.test.com/new.index.html如何来实现呢?

我们可以使用Nginx Rewrite 来实现这个需求,具体如下:

在server中加入如下语句即可:

rewrite  ^/$  http://www.test.com/index01.html  permanent;

*代表前面0或更多个字符

+代表前面1或更多个字符

?代表前面0或1个字符

^代表字符串的开始位置

$代表字符串结束的位置

。为通配符,代表任何字符

b)      例如多个域名跳转到同一个域名,nginx rewrite规则写法如下:

server

{

listen 80;

server_name www.wugk.com wugk.com;

if ($host != ‘www.wugk.com’ ) {

rewrite ^/(.*)$  http://www.wugk.com/$1  permanent;

}

更多深入的rewrite可以继续学习。

时间: 2024-10-03 04:48:27

Nginx Rewrite规则详解的相关文章

Apache Rewrite 规则详解

转自:http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html 1.Rewrite规则简介: Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的 (.htaccess)两种方式.如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接 安装rewrite模块,别一种是编译apache时以DSO模式安装

Apache Rewrite规则详解[转]

1.Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式.如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法 一种是在http

Apache Rewrite规则详解

Apache的rewrite的重写非常常用,现总结了一下. Apache mod_rewrite规则重写的标志一览 R[=code](force redirect) 强制外部重定向强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省的302 HTTP状态码.F(force URL to be forbidden)禁用URL,返回403HTTP状态码.G(force URL to be gone) 强制URL为GONE,返

.htaccess中的apache rewrite规则详解

.htaccess中的apache rewrite写法: RewriteEngine OnRewriteCond %{HTTP_HOST} ^(www.)?xxx.com$RewriteCond %{REQUEST_URI} !^/blog/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /blog/$1 没有输入文件名的默认到到首页 RewriteCond %{HT

Nginx之location 匹配规则详解

Nginx之location 匹配规则详解 关于一些对location认识的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是"先匹配普通,再匹配正则".我这么说,大家一定会反驳我,因为按"先匹配普通,再匹配正则"解释不了大家平时习惯的按"先匹配正则,再匹配普通"的实践经验.这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配(实际的规则,比这复杂,

nginx rewrite规则语法

在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置. 因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑的是Nginx,主要是因为Nginx的速度比Apache要快很多. 但是另一方面就不是那么舒服了,因为Nginx的rewrite跟Apache不同,而且是在服务器上面才能更改. 下面是其间的一些研究笔记.(以下用例如无特别说明均摘自nginx wiki) /1 Nginx rewrite基本语法 N

快速部署Python应用:Nginx+uWSGI配置详解

快速部署Python应用:Nginx+uWSGI配置详解 相比于PHP,Python应用的部署很麻烦,比较常用的方法有fcgi与wsgi,然而这两种都很让人头痛.文章介绍了Nginx+uwsgi的简便方法,来快速的部署Python应用. AD: 在PHP里,最方便的就是deployment了,只要把php文件丢到支持PHP的路径里面,然后访问那个路径就能使用了:无论给主机添加多少PHP应用,只要把目录改好就没你的事了,完全不用关心php-cgi运行得如何,deployment极为方便. 反观Py

Apache重写模块:规则详解

1,开其重写模块: sudo a2enmod rewrite 2,配置为可重写: 打开 /etc/apache < Directory />  Options FollowSymLinks AllowOverride All < /Directory> 在项目目录下,新建 .htaccess文件,加入以下内容: <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On RewriteBase /

LNMP编译安装之nginx安装--图文详解

LNMP编译安装之nginx安装--图文详解 1.前言 本次安装采用源码安装,主要资源包从官网下载,次要依赖则使用yum进行安装,本篇只涉及nginx的安装,不涉及nginx的配置,对应nginx如何访问php,本篇也不涉及.该教程纯属安装,不涉及任何重要知识点,老少皆宜. 2.安装步骤 nginx官网:http://nginx.org/en/download.html 2.1.下载nginx wget http://nginx.org/download/nginx-1.12.0.tar.gz