nginx常用的 URL 重写方法

转载 2013年12月05日 06:31:33
转自:http://www.jbxue.com/article/4727.html
Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。url重写应该不陌生,不管是SEO URL 伪静态的需要,还是在非常流行的wordpress中,重写都是无处不在的。

Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。
url重写应该不陌生,不管是SEO URL 伪静态的需要,还是在非常流行的wordpress中,重写都是无处不在的。

1. 在 Apache 的写法
 

复制代码代码如下:
RewriteCond  %{HTTP_HOST}  nginx.org
RewriteRule  (.*)  http://www.nginx.org$1

在 Nginx 可以对应写成:
 

复制代码代码如下:
server {
    listen       80;
    server_name  www.nginx.org  nginx.org;
    if ($http_host = nginx.org) {
        rewrite  (.*)  http://www.nginx.org$1;
    }
    ...
}

但 Nginx 作者更建议的方法是:
 

复制代码代码如下:

server {
    listen       80;
    server_name  nginx.org;
    rewrite   ^  http://www.nginx.org$request_uri?;
}

server {
    listen       80;
    server_name  www.nginx.org;
    ...
}

问题部分

1. 请教一下,nginx的rewrite规则怎么写?
比如将 http://www.jbxue.com/222.html rewrite 为 http://www.jbxue.com/222.htm
 

复制代码代码如下:
location ~ .*\.(html)$
{
rewrite ^(.*)\.html  $1.htm permanent;
}

2. 下面url要怎么写rewrite?
www.aaa.com/search/?wd=搜索内容  ==> www.aaa.com/searchpage?keyword=搜索内容
 

复制代码代码如下:
location ~ ^/search/ { 
            rewrite (.*) /searchpage$1 ; 
}

3. 请求的url如下 /item/12345/index.html 重定向到/item/12/12345/index.html

规则就是id除1000,如果小于id小于1000,则为/item/0/id/index.html

不知道说清楚没有,这个rewrite规则该怎么写啊?

刚看了文档,似乎可以
http://wiki.nginx.org/HttpRewriteModule

/photos/123456  -> /path/to/photos/12/1234/123456.png
rewrite  "/photos/([0-9] {2})([0-9] {2})([0-9] {2})" /path/to/photos/$1/$1$2/$1$2$3.png;

备注:
有一个工具可以apache htaccess 文件转 nginx rewrite:
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

您可能感兴趣的文章:
nginx rewrite(nginx url地址重写)的配置示例
nginx实现url重写-rewrite实例参考
nginx配置url重写及自定义404错误页面等
Nginx常用的 URL 重写方法
超详细的 NGINX URL重写实例讲解

相关文章推荐

nginx 常用的 URL 重写方法

转自:http://www.jbxue.com/article/4727.html Nginx中一些常用的URL 重写方法介绍,有需要的朋友可以参考下。url重写应该不陌生,不管是SEO URL...

配置NGINX支持中文URL 中文文件名或目录404无法访问的解决方法

NGINX不需要象apache那样要单独加载支持中文模块。 # cat /etc/sysconfig/i18n  LANG="en_US.UTF-8" SYSFONT="latarcyrheb-su...

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解 2013-09-04 14:45:43 标签:读写分离 URL重写 页面缓存 Nginx 反向代理 原创作品,允许转载...

nginx配置详解-url重写、反向代理、负载均衡

应用层的负载均衡master/worker结构:一个master进程,生成一个或多个worker子进程nginx请求的连接方式epoll 是Linux下多路复用IO接口select/poll的增强版本...
  • jethai
  • jethai
  • 2016年08月28日 14:05
  • 6582

Nginx的反向代理,负载均衡,缓存,URL重写以及读写分离

Nginx.conf              这里主要讲解一下nginx的主配置文件nginx.conf。其中主要分为四个部分:main(全局配置)、server(主机配置)、upstream(上游...

Nginx 反向代理、负载均衡、页面缓存、URL重写以及读写分离

nginx的一些知识

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离

http://freeloda.blog.51cto.com/2033581/1288553 大纲 一、前言 二、环境准备 三、安装与配置Nginx 四、Ngin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx常用的 URL 重写方法
举报原因:
原因补充:

(最多只允许输入30个字)