【发布时间】:2015-02-13 18:33:58
【问题描述】:
我想更改特定自定义帖子类型的永久链接结构。即
http://test.com/brand/calvin-klien?mtype=tab2
^this is dynamic
到
http://test.com/brand/calvin-klien/mtype/tab2
^this is dynamic
这是我试过的一段代码。
注册 add_rewrite_tag
function custom_rewrite_tag() {
add_rewrite_tag('%mtype%', '([a-z0-9\-]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
add_action('init', 'wpse50530_journal_archive_rewrite', 10, 0);
代码1
function wpse50530_journal_archive_rewrite(){
add_rewrite_rule('brand/([a-z0-9\-]+)/([a-z0-9\-]+)/$','index.php?name=$matches[1]/?mtype=$matches[2]','top');
}
代码2
add_action('generate_rewrite_rules', 'work_list');
function work_list($wp_rewrite) {
$newrules = array();
$newrules['brand/([a-z0-9\-]+)/([a-z0-9\-]+)/$'] = 'index.php?name=$matches[1]&mtype=$matches[2]';
$wp_rewrite->rules = $newrules + $wp_rewrite->rules;
我在codes、flushed permalinks 上面都试过了,但仍然是404。我不知道为什么它在 htaccess 中创建 $matches 因为 htacces 不知道什么是 $matches
我也试过monkeyman-rewrite-analyzer plugin,它显示了我的永久链接的正确匹配结果,但仍然显示404。请参阅随附的 Code1 和 Code2 屏幕截图
【问题讨论】:
标签: wordpress .htaccess url-rewriting rewrite permalinks