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

为适配Android深度链接验证,如何为特定URL路径取消www重定向

需求背景

要启用Android深度链接自动验证,必须在非www域名(如https://mycompany.com)下托管.well-known/assetlinks.json,但当前全站请求都会重定向到https://www.mycompany.com,导致验证失败。需要实现:其他所有路径保持重定向到www,仅.well-known/assetlinks.json路径直接返回文件,不跳转。

各主流服务器实现方案

Nginx

修改站点的Nginx配置文件,先设置精确匹配的例外规则,再写全站重定向:

server {
    listen 443 ssl;
    server_name mycompany.com;

    # 精确匹配assetlinks.json路径,直接返回文件
    location = /.well-known/assetlinks.json {
        root /var/www/mycompany; # 替换为你的网站根目录路径
        access_log off; # 可选:关闭该路径的访问日志
    }

    # 其余所有路径重定向到www域名
    location / {
        return 301 https://www.mycompany.com$request_uri;
    }

    # 以下是SSL证书相关配置,根据实际情况填写
    ssl_certificate /etc/nginx/ssl/mycompany.crt;
    ssl_certificate_key /etc/nginx/ssl/mycompany.key;
}

提示:location =是精确匹配,只会命中该 exact 路径,不会影响其他子路径。配置后重启Nginx生效。

Apache

在站点的.htaccess文件或虚拟主机配置中,按顺序添加规则:

RewriteEngine On

# 例外规则:匹配assetlinks.json路径,不执行后续重定向
RewriteCond %{REQUEST_URI} ^/.well-known/assetlinks.json$
RewriteRule ^ - [L]

# 全站重定向到www域名
RewriteCond %{HTTP_HOST} ^mycompany.com$ [NC]
RewriteRule ^(.*)$ https://www.mycompany.com/$1 [R=301,L]

提示:[L]标记表示这条规则匹配后停止后续规则,确保例外路径不会被重定向。如果是虚拟主机配置,记得重启Apache。

IIS

通过IIS的URL重写模块配置:

  1. 打开IIS管理器,选中目标站点,进入「URL重写」功能
  2. 添加例外规则:
    • 匹配URL:选择「正则表达式」,输入^.well-known/assetlinks.json$
    • 操作:选择「无」,确保该路径不被重定向
  3. 添加全站重定向规则:
    • 匹配URL:选择「正则表达式」,输入(.*)
    • 条件:添加条件,输入{HTTP_HOST},匹配类型选「匹配正则表达式」,输入^mycompany.com$
    • 操作:选择「重定向」,目标URL填https://www.mycompany.com/{R:1},状态码选「301永久重定向」

验证方式

用curl命令测试非www域名的目标路径,确认返回200状态码和文件内容:

curl -v https://mycompany.com/.well-known/assetlinks.json

如果输出中包含HTTP/1.1 200 OK,且显示assetlinks.json的内容,说明配置成功。

内容的提问来源于stack exchange,提问作者Pankaj Badgujar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 20:56:34