代码之家  ›  专栏  ›  技术社区  ›  LVDM

Wordpress重写规则重定向到帖子

  •  0
  • LVDM  · 技术社区  · 8 年前

    我目前正在Wordpress中进行URL重写。

    我正在尝试重写此URL:

    http://localhost/adorable-nails/behandelingen-tarieven/?category=gelnagels

    收件人:

    http://localhost/adorable-nails/behandelingen-tarieven/gelnagels

    我在主题的functions.php中添加了以下代码:

    function add_query_vars_filter( $vars ){
        $vars[] = "category";
        return $vars;
    }
    add_filter( 'query_vars', 'add_query_vars_filter' );
    
    function custom_rewrite_rule() {
        add_rewrite_rule('^behandelingen-tarieven/([^/]*)/([^/]*)/?','index.php?pagename=behandelingen-tarieven&category=$matches[1]','top');
    }
    add_action('init', 'custom_rewrite_rule', 10, 0);
    

    所以当我试图去 http://localhost/adorable-nails/behandelingen-tarieven/gelnagels 它将我重定向到一个帖子,帖子名称中有“gelnagels”,我当前的永久链接设置为: http://localhost/adorable-nails/sample-post/

    所以我想知道的是,有没有办法避免重定向,还是我必须选择普通的永久链接设置并自己重写所有规则?

    提前谢谢!

    1 回复  |  直到 8 年前
        1
  •  2
  •   Felipe Elia    8 年前

    regex有2个可能的匹配项,url只提供了一个。改变 ^behandelingen-tarieven/([^/]*)/([^/]*)/? ^behandelingen-tarieven/([^/]*)/? 保存永久链接似乎解决了问题。

    这里最重要的事情(这就是为什么我写这个作为答案)是:

    永远不要忘记在更改rewrite_rule后保存永久链接配置

    我花了太多时间来更改它,直到我意识到保存永久链接是必要的,什么都没有发生。希望这对将来的人有所帮助:)