首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将Apache Mod重写规则转换为NGINX

将 Apache 的 mod_rewrite 规则转换为 NGINX 的重写规则需要一些手动的步骤,因为两者的配置语法和处理方式有所不同。以下是一些常见的 mod_rewrite 规则及其在 NGINX 中的等价配置示例。

示例 1: 简单的 URL 重写

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^old-page$ /new-page [R=301,L]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    location / {
        rewrite ^/old-page$ /new-page permanent;
    }
}

示例 2: 带查询参数的重写

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^page$ /new-page?id=%1 [R=301,L]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    location /page {
        if ($arg_id ~ ^([0-9]+)$) {
            return 301 /new-page?id=$arg_id;
        }
    }
}

示例 3: 动态 URL 重写

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^product/([0-9]+)$ /product.php?id=$1 [L]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    location /product {
        rewrite ^/product/([0-9]+)$ /product.php?id=$1 last;
    }
}

示例 4: 强制 HTTPS

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    return 301 https://$host$request_uri;
}

示例 5: 根目录重定向

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteRule ^$ /home [L]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    location = / {
        rewrite ^ /home last;
    }
}

示例 6: 带条件的重写

Apache mod_rewrite 规则

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Mozilla
RewriteRule ^old-page$ /new-page [R=301,L]

NGINX 重写规则

代码语言:javascript
复制
server {
    listen 80;
    server_name example.com;

    location /old-page {
        if ($http_user_agent ~* ^Mozilla) {
            return 301 /new-page;
        }
    }
}
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券