You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建镜像站点或更换域名,保留页面名称、功能与URL重写规则?

电商站点镜像及URL重写兼容实现方案

方案一:反向代理配置(推荐,无代码侵入)

适合不想改动原网站代码的场景,直接通过服务器层实现镜像同步,同时保留原有URL重写规则。

Nginx配置示例

# 主站配置(保留原有URL重写规则)
server {
    listen 80;
    server_name www.sellingstuff.com;
    root /path/to/your/site;

    # 原有伪静态重写规则,比如把/products/cable转成/products.aspx?id=cable
    rewrite ^/products/([a-z0-9-]+)$ /products.aspx?id=$1 last;

    # ASP.NET请求处理(根据实际环境调整)
    location ~ \.aspx$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

# 镜像站配置
server {
    listen 80;
    server_name www.otherstuff.com;

    # 把所有请求反向代理到主站,保留完整路径和参数
    location / {
        proxy_pass http://www.sellingstuff.com;
        # 转发主机头,让主站的业务逻辑和重写规则正常触发
        proxy_set_header Host www.sellingstuff.com;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

IIS配置步骤

  1. 安装ARR(应用程序请求路由)和URL重写模块
  2. 给镜像站站点添加反向代理规则,将所有请求转发到主站地址
  3. 确保主站的URL重写规则对转发过来的请求生效(因为主机头被设置为主站域名,原有规则会正常执行)

方案二:多域名绑定+应用层适配

适合可以修改网站配置或少量代码的场景,让主站直接支持两个域名访问。

  • 步骤:
    1. 在服务器(IIS/Nginx/Apache)上把两个域名绑定到同一个站点实例
    2. 检查网站代码,移除所有硬编码的主站域名,内部链接改用相对路径或动态获取当前域名生成
    3. 保留原有URL重写规则,因为两个域名指向同一站点,重写规则会同时作用于两个域名的请求

ASP.NET动态生成链接示例

// 动态获取当前域名生成产品链接,避免硬编码
string productUrl = $"{Request.Url.Scheme}://{Request.Url.Host}/products/{product.Slug}";
  • 注意:如果网站有域名专属的业务逻辑(比如支付回调、专属活动),需要添加判断逻辑,保证两个域名的流程一致。

方案三:静态镜像同步(适合内容更新不频繁的站点)

仅适合以静态展示为主的站点,动态功能(如购物车、登录)无法同步。

  • 步骤:
    1. 用wget、rsync这类工具定期同步主站的静态资源到镜像站服务器
    2. 在镜像站配置和主站完全一致的URL重写规则,确保伪静态路径能对应正确的页面
    3. 定期同步的频率根据内容更新速度调整,比如每天一次或每小时一次

内容的提问来源于stack exchange,提问作者Joe Defill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:22:25