我想我知道了。。。几乎我需要使用WordPress自己的重写引擎来定义重写规则,以便它能够识别我在做什么。
所以我把这个添加到我的WordPress主题中functions.php
:
add_action( \'init\', \'init_custom_rewrite\' );
function init_custom_rewrite() {
add_rewrite_rule(
\'^show/([^/]*)/([^/]*)/?\',
\'index.php?page_id=2382&id=$matches[1]&n=$matches[2]\',
\'top\' );
}
add_filter(\'query_vars\', \'my_query_vars\', 10, 1);
function my_query_vars($vars) {
$vars[] = \'id\';
$vars[] = \'n\';
return $vars;
}
URL
website.com/show/9999/page-name
工作正常。
现在,我需要重定向旧的查询字符串URL:website.com/show/?id=9999&n=page-name
到新的SEO友好url:website.com/show/9999/page-name
我在中使用了一些重写规则。htaccess:
RewriteCond %{QUERY_STRING} ^id=([^/]*)&n=([^/]*)$
RewriteRule ^showtest/?$ /showtest\\/%1\\/%2\\/? [R=301,L]