我目前正在搞乱Wordpress中的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/ < / p>
所以我想知道无论如何都要避免重定向,或者我是否必须选择简单的永久链接设置并自行完成所有重写规则?
提前致谢!
答案 0 :(得分:2)
正则表达式有2个可能的匹配,而url只提供了一个。将^behandelingen-tarieven/([^/]*)/([^/]*)/?
更改为^behandelingen-tarieven/([^/]*)/?
并保存永久链接似乎解决了这个问题。
这里最重要的事情(这也就是我写这个作为答案的原因)是:
永远不会忘记在更改rewrite_rule
后保存您的永久链接配置我花了太多时间改变它,直到我意识到保存永久链接是必要的。希望这可以帮助将来的某个人:)