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

如何在WordPress中配置URL重写规则实现自定义链接转换

WordPress 自定义重写规则实现URL结构转换

你需要将代码添加到当前激活主题的functions.php文件中,或者自定义功能插件的代码文件中,完整实现步骤如下:

1. 注册自定义重写规则与查询变量

首先要让WordPress识别你自定义的URL结构,同时允许读取自定义参数:

// 注册重写规则
function custom_explore_rewrite_rule() {
    // 适配示例目标URL结构:/explore/sauna-gutschein-{地区名}/
    add_rewrite_rule(
        '^explore/sauna-gutschein-([^/]+)/?$',
        'index.php?pagename=explore&region=$matches[1]&sort=latest',
        'top'
    );
    // 如果需要sort参数也做成动态路径,可扩展规则,比如:
    // add_rewrite_rule(
    //     '^explore/sauna-gutschein-([^/]+)/([^/]+)/?$',
    //     'index.php?pagename=explore&region=$matches[1]&sort=$matches[2]',
    //     'top'
    // );
}
add_action('init', 'custom_explore_rewrite_rule');

// 注册允许WordPress识别的自定义查询参数
function custom_explore_query_vars($vars) {
    $vars[] = 'region';
    $vars[] = 'sort';
    return $vars;
}
add_filter('query_vars', 'custom_explore_query_vars');

2. 旧链接自动301跳转(可选,避免重复内容收录)

如果需要把原来带查询字符串的旧URL自动跳转到新的美观URL,可以添加以下代码:

function custom_explore_old_url_redirect() {
    if (is_page('explore') && isset($_GET['region'])) {
        $region = sanitize_title($_GET['region']);
        $sort = isset($_GET['sort']) ? $_GET['sort'] : 'latest';
        $new_url = home_url("/explore/sauna-gutschein-{$region}/");
        // 如果sort是动态的,调整URL拼接规则即可
        wp_redirect($new_url, 301);
        exit;
    }
}
add_action('template_redirect', 'custom_explore_old_url_redirect');

3. 生效重写规则

代码添加完成后,进入WordPress后台:设置 -> 固定链接,直接点击「保存更改」按钮,无需修改任何配置,即可刷新重写规则缓存,让新规则生效。

验证方法

在你的explore自定义模板中,使用get_query_var('region')即可读取到URL中传递的地区参数,使用get_query_var('sort')即可读取排序参数,不需要直接调用$_GET变量。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:15:04