nginx 常用的 URL 重写方法

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

1. 在 Apache 的写法

复制代码代码如下:

RewriteCond %{HTTP_HOST} nginx.orgRewriteRule (.*) $1

在 Nginx 可以对应写成:

复制代码代码如下:

server { listen 80; server_name nginx.org; if ($http_host = nginx.org) { rewrite (.*) $1; } …}

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

复制代码代码如下:

server { listen 80; server_name nginx.org; rewrite ^ $request_uri?;}

server { listen 80; server_name ; …}

问题部分

1. 请教一下,nginx的rewrite规则怎么写?比如将 rewrite 为

复制代码代码如下:

location ~ .*\.(html)${rewrite ^(.*)\.html $1.htm permanent;}

2. 下面url要怎么写rewrite??wd=搜索内容 ==> ?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规则该怎么写啊?

刚看了文档,似乎可以

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

备注:有一个工具可以apache htaccess 文件转 nginx rewrite:

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

当我要取的时候,你淘气的躲开了,

nginx 常用的 URL 重写方法

相关文章:

你感兴趣的文章:

标签云: