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

WordPress自定义URL重写规则问题排查:assetlinks.json

重写规则失效的排查与修复

以下是导致你的add_rewrite_rule未生效的常见问题及解决办法:

  • 正则表达式未转义特殊字符
    原规则中的.是正则通配符,会匹配任意字符,而非字面意义的点号。正确的正则应该转义.:

    add_rewrite_rule( '^\.well-known/assetlinks\.json$','index.php?asset-link=assetlinks', 'top' );
    
  • 未刷新WordPress重写规则
    添加规则后必须刷新重写规则才能生效:进入后台「设置-固定链接」页面,无需修改设置,直接点击「保存更改」,WordPress会自动更新重写规则配置。

  • 未注册自定义查询变量
    WordPress默认不识别asset-link这个自定义参数,需要先注册:

    function register_assetlink_query_var( $vars ) {
        $vars[] = 'asset-link';
        return $vars;
    }
    add_filter( 'query_vars', 'register_assetlink_query_var' );
    
  • 缺少请求处理逻辑
    规则仅完成了请求转发,还需添加处理逻辑输出JSON内容:

    function handle_assetlinks_request() {
        if ( get_query_var( 'asset-link' ) === 'assetlinks' ) {
            header( 'Content-Type: application/json' );
            // 替换为你的assetlinks实际内容
            echo json_encode( [
                [
                    "relation" => ["delegate_permission/common.handle_all_urls"],
                    "target" => [
                        "namespace" => "android_app",
                        "package_name" => "com.your.app",
                        "sha256_cert_fingerprints" => ["你的应用SHA256指纹"]
                    ]
                ]
            ] );
            exit;
        }
    }
    add_action( 'template_redirect', 'handle_assetlinks_request' );
    
  • 服务器配置冲突

    • Apache:确保站点目录的.htaccess文件有写入权限,且WordPress能正常写入重写规则。
    • Nginx:需手动在server块中添加规则(Nginx不支持.htaccess):
      location /.well-known/assetlinks.json {
          try_files $uri $uri/ /index.php?asset-link=assetlinks;
      }
      

内容的提问来源于stack exchange,提问作者Andrés Gómez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:48:22