我有一个 URL https://example.com/tag/tag-name/?view=overview 我使用下面的代码将其重写为 https://example.com/tag/tag-name/overview :
function custom_rewrite_rules() {
add_rewrite_rule(
'^tag/([^/]+)/([^/]+)/?$',
'index.php?tag=$matches[1]&view=$matches[2]',
'top'
);
}
add_action( 'init', 'custom_rewrite_rules' );
然后,我尝试在安装在子目录中的 WordPress 网站上执行相同的操作
https://example.com/wordpress/tag/tag-name/overview
,但它显示 404。
我还尝试将子目录添加到函数中,如下所示:
function custom_rewrite_rules() {
add_rewrite_rule(
'^wordpress/tag/([^/]+)/([^/]+)/?$',
'index.php?tag=$matches[1]&view=$matches[2]',
'top'
);
}
add_action( 'init', 'custom_rewrite_rules' );
但仍然显示404。
此外,您还可以暂时使用此功能来查看WordPress已存储的重写规则:
<?php
add_action('init', function() {
global $wp_rewrite;
echo '<pre>';
print_r($wp_rewrite->rules);
echo '</pre>';
exit;
});