【发布时间】:2011-03-19 10:51:43
【问题描述】:
我的站点中有链接,这些链接将查询传递给从外部数据库查询的页面。这很好用,例如
mysite.com/catalog/?tl=flooring
但是我想重写这个 url 以显示为
mysite.com/catalog/flooring
我试过修改wordpress中的重写规则,但总是显示索引页
add_filter('rewrite_rules_array','wp_insertMyRewriteRules');
add_filter('query_vars','wp_insertMyRewriteQueryVars');
add_filter('init','flushRules');
// Remember to flush_rules() when adding rules
function flushRules(){
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
// Adding a new rule
function wp_insertMyRewriteRules($rules)
{
$newrules = array();
$newrules['(catalog)/([a-zA-Z0-9 ]+)$'] = '/catalog/?tl=$matches[2]';
return $newrules + $rules;
}
// Adding the id var so that WP recognizes it
function wp_insertMyRewriteQueryVars($vars)
{
array_push($vars, 'id');
return $vars;
}
【问题讨论】:
标签: php wordpress mod-rewrite url-rewriting