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

如何在WordPress子域名下创建自定义页面路由

WordPress子域名自定义路由配置方案

针对子域名audio.mywebsite.com下任意后缀URL重定向到指定文件的需求,可按以下步骤修改代码:

1. 替换重写规则函数

替换原有的custom_rewrite_rule函数,添加子域名判断逻辑,同时保留主域名的原有规则:

add_action('init', 'custom_subdomain_rewrite_rule', 10, 0);
function custom_subdomain_rewrite_rule() {
    $host = $_SERVER['HTTP_HOST'];
    
    // 匹配audio子域名
    if (strpos($host, 'audio.mywebsite.com') !== false) {
        // 捕获子域名下任意非空路径,转发到目标文件
        add_rewrite_rule('^([^/]*)/?$', 'wp-content/sounds/sound.php?sound_slug=$1', 'top');
    } else {
        // 保留主域名原有规则
        add_rewrite_rule('^audio/([^/]*)/?', 'wp-content/sounds/sound.php?sound_slug=$1', 'top');
    }
}

2. 注册查询变量(可选)

如果需要在sound.php中获取URL中的后缀值(如Everything、0123456789),需添加查询变量注册:

add_filter('query_vars', 'custom_add_sound_query_var');
function custom_add_sound_query_var($vars) {
    $vars[] = 'sound_slug';
    return $vars;
}

之后在sound.php中可通过$_GET['sound_slug']获取该值。

3. 刷新重写规则缓存

修改代码后,进入WordPress后台「设置」→「固定链接」,点击「保存更改」(无需修改任何设置),即可刷新WordPress的重写规则缓存,让新规则生效。

4. 服务器配置检查

确保服务器支持子域名重写:

  • Apache环境:确认.htaccess文件包含WordPress默认重写规则,且服务器配置中AllowOverride设置为All
  • Nginx环境:在audio.mywebsite.com的server块中添加以下配置:
    server {
        listen 80;
        server_name audio.mywebsite.com;
        root /path/to/your/wordpress;
        index index.php index.html;
    
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据你的PHP版本调整路径
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 04:28:29