我在重写时遇到了麻烦。我在这里(和其他网站)搜索了一个例子,但到目前为止,还没有找到。
我的测试地点是:
../?attachment_id=3027&attachment_category=yosemite
我希望它显示以下内容:
../portfolio/yosemite/3027
甚至这些:
../portfolio/3027/yosemite/
../3027/yosemite/
我试图将此添加到
.htaccess
:
RewriteRule ^([^/]*)/([^/]*)/$ /?attachment_id=$1&attachment_category=$2 [L]
但很明显,这不起作用。在我继续寻找答案的过程中,任何想法都将不胜感激。
Edit #1
尝试过这个,但没有成功。
add_filter( \'query_vars\', \'my_query_vars\' );
function my_query_vars( $query_vars ) {
array_push($query_vars, \'attachment_id\', \'attachment_category\');
return $query_vars;
}
add_filter( \'rewrite_rules_array\', \'my_rewrite_rules_array\' );
function my_rewrite_rules_array( $rules ) {
$my_rules = array();
$my_rules[\'portfolio/(\\d+)/(\\d+)/?$\'] = \'index.php?attachment_id=$matches[1]&attachment_category=$matches[2]\';
return $my_rules + $rules;
}
add_action( \'wp_loaded\', \'my_flush_rules\' );
function my_flush_rules() {
if (!$rules = get_option(\'rewrite_rules\'))
$rules = array();
if (!isset($rules[\'portfolio/(\\d+)/(\\d+)/?$\'])) {
global $wp_rewrite;
$wp_rewrite->flush_rules();
}
}