我有一个像mywebsite.com/media/cards/?name=something
这样的URL,我想为它像一个mywebsite.com/media/cards/something
这样的URL?我该怎么办?
我已经尝试了正常的htaccess重写和wordpress add_rewrite_rule
。没有一个起作用。
我的例子:
function custom_rewrite_rule() {
$rule = '^media/cards/(.*)/';
$write = 'media/cards/?name=$matches[1]';
add_rewrite_rule($rule, $write, 'top');
}
add_action( 'custom', 'custom_rewrite_rule' );
答案 0 :(得分:0)
好,问题解决了。首先,我应该使用init
而不是custom
。
其次,我需要这样注册URL参数:
function register_card_param() {
add_rewrite_tag('%cards%', '([^&]+)');
}
add_action('init', 'register_card_param');
现在它就像一种魅力!