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

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;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,064评论 19 139
  • nginx重写规则 nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大...
    桖辶殇阅读 10,909评论 0 2
  • 上一篇《WEB请求处理一:浏览器请求发起处理》,我们讲述了浏览器端请求发起过程,通过DNS域名解析服务器IP,并建...
    七寸知架构阅读 81,526评论 21 356
  • 1.ngnix介绍 ngnix www服务软件 俄罗斯人开发 开源 性能很高 本身是一款静态WWW软件 静态小文件...
    逗比punk阅读 6,423评论 1 6
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,920评论 24 1,002

友情链接更多精彩内容