美文网首页
nginx中一些常用的 URL 重写方法

nginx中一些常用的 URL 重写方法

作者: 桖辶殇 | 来源:发表于2016-11-20 18:41 被阅读0次

    nginx中一些常用的 URL 重写方法

    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;
    }

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

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

    1. 请求的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;

    相关文章

      网友评论

          本文标题:nginx中一些常用的 URL 重写方法

          本文链接:https://www.haomeiwen.com/subject/dbjypttx.html