`

nginx 常用的 URL 重写方法

 
阅读更多

转自: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重写实例讲解

分享到:
评论

相关推荐

    URL重写URL重写URL重写URL重写

    - **Apache mod_rewrite**:Apache服务器最常用的URL重写工具,通过`.htaccess`文件配置规则。 - **IIS URL Rewrite**:微软IIS服务器的URL重写模块,同样支持在web.config文件中定义规则。 - **Nginx rewrite**:...

    2020T5友价商城源码系统nginx伪静态重写规则.zip

    Nginx的重写规则通常在server或location块中定义,使用rewrite指令进行URL的转换。例如,一个简单的伪静态规则可能如下所示: ```nginx location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index....

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

    ### Nginx_反向代理、负载均衡、页面缓存、URL重写及读写分离详解 #### 一、前言 Nginx是一款广泛使用的高性能HTTP和反向代理Web服务器,也是常用的邮件代理服务器。它以其高稳定性、丰富的功能集、简单的配置方式...

    UrlWriter实现url重写的一个实例

    3. **IIS与UrlRewrite模块**:在ASP.NET环境中,UrlWriter可能与IIS(Internet Information Services)的UrlRewrite模块相关联,这是一个常用的URL重写解决方案。通过添加XML配置文件(如web.config),开发者可以...

    nginx常用配置文件

    例如,设置静态文件路径、URL重写、反向代理等。 4. **反向代理**: Nginx可以通过反向代理将客户端请求转发到后端应用服务器,如Apache、Node.js或PHP-FPM。在location块中配置proxy_pass指令,指定后端服务器的...

    在phpstudy集成环境下的nginx服务器下配置url重写

    本文将详细介绍如何在PHPStudy集成环境下的Nginx服务器中配置URL重写规则,这对于优化SEO、改善用户访问体验和后端开发的便利性等方面都具有重要意义。 首先,我们需要了解Nginx服务器的配置结构。在Nginx中,配置...

    nginx1.19.1以及常用配置文档.zip

    5. **location块**:在server块内,根据请求的URI匹配规则来处理请求,可以设置URL重写、反向代理、缓存等。 **配置示例**: - **URL重写**:通过`rewrite`指令实现URL转换,例如将所有请求的末尾自动添加`....

    LINUX-nginx

    6. **URL重写**:Nginx提供了强大的URL重写规则,可以对用户请求的URL进行转换,优化SEO,或实现动态URL与静态内容的匹配。 7. **限速限制**:Nginx可以通过设置限速策略,限制单个IP或所有用户的访问速度,防止...

    nginx-1.17.8.tar.gz

    6. **URL重写**:通过配置文件,Nginx支持URL重写规则,可以实现友好的URL设计和SEO优化。 ### 安装与配置Nginx 1.17.8 1. **解压**:首先,我们需要将`nginx-1.17.8.tar.gz`文件解压缩,使用`tar -zxvf nginx-...

    Nginx新手入门常用需求

    - **URL重写**:基于正则表达式的URL重定向。 - **访问控制**:基于IP地址和HTTP基本认证。 - **安全功能**:支持SSL,提供HTTPS服务。 - **速率和并发限制**:限制访问速度和并发连接数。 **3. 工作模式** Nginx...

    nginx/1.21.6 &nginx-http-flv-module-1.2.10

    "pcre-8.45"代表Perl Compatible Regular Expressions库的8.45版本,Nginx在处理URL重写和其他正则表达式任务时会用到这个库。"openssl-1.1.1n"是OpenSSL的版本,这是一个强大的安全套接字层密码库,包含了各种加密...

    Nginx高性能Web服务器详解(完整版)pdf下载

    6. **URL重写**:Nginx支持URL重写规则,可以对请求的URL进行转换,这对于SEO优化和保持URL整洁非常有用。 7. **缓存机制**:Nginx可以作为缓存服务器,对常用或者动态生成的页面进行缓存,减少对后端服务器的请求...

    Nginx常用模块及作用.docx

    7. ngx_http_rewrite_module:重定向和URL重写模块,可以根据规则对请求进行解析和处理,实现URL的动态管理。 8. ngx_http_referer_module:防止盗链,确保只有合法来源的请求才能访问资源,提高了安全性。 9. ngx...

    nginx-1.17.9_nginx_

    6. **URL 重写**:Nginx 支持 URL 重写规则,可以方便地实现 URL 美化和SEO优化。 **二、Nginx 的配置结构** Nginx 的配置文件通常为 `nginx.conf`,采用模块化的配置结构,包括全局块、events块、http块、server...

    重写连接地址urlwriter

    ### 三、实现URL重写的方法 #### 1. **使用Apache .htaccess文件** - Apache服务器支持通过`.htaccess`文件来进行URL重写。这种方式非常灵活且易于管理。 - 常用的指令有`RewriteRule`和`RewriteCond`等。 #### ...

    详解常用的nginx rewrite重写规则

    本文提供一些常用的rewrite重写规则,用来美化网页的链接。规则里面的$1$2你不知道是怎么来的话,只要记住,第一个()里面的是$1,第二个()里面的是$2. 请求的URL是给人看的,重写后的URL是给电脑看的。 执行搜索 这...

    nginx(windows版本)

    Nginx的Rewrite模块允许实现URL重写,优化网站的SEO和用户体验。通过使用rewrite指令,可以改变请求的URL路径,实现动态URL到静态URL的转换、路径参数的处理等。例如,可以将一个复杂的动态URL转换为简洁的静态URL。...

    nginx-1.10.0

    6. **URL重写**: Nginx的URL重写功能可以帮助我们实现更友好的URL结构,增强SEO友好性。 **二、Nginx 1.10.0 版本亮点** 1. **性能提升**: 1.10.0版本通常会包含一些性能优化,使得处理速度更快,内存占用更低。 ...

    2024年最新版nginx,windows版本

    - **URL重写**:通过`rewrite`规则,可以实现URL的重定向和转换,方便URL管理。 - **缓存机制**:Nginx可以缓存静态资源,减少对后端服务器的请求,提升网站响应速度。 **日志管理和监控** Nginx的日志文件默认...

    nginx 1.5.0

    4. **URL重写**:Nginx 支持URL重写规则,可以根据特定条件修改请求的URL,帮助实现SEO优化和更好的用户体验。 5. **缓存**:Nginx 可以作为缓存服务器,对常用内容进行本地缓存,减少对后端服务器的压力,提高响应...

Global site tag (gtag.js) - Google Analytics