我正在尝试使用wordpress的add_rewrite_rule函数添加自定义规则,但它们不起作用。奇怪的是,只要我使用 Monkeyman Rewrite Analyzer 插件检查规则,就会添加规则并匹配我的URL。
当我尝试访问该页面时,它会重定向到不正确的位置。
这是我的代码:
add_rewrite_tag('%cc%','([a-zA-Z]+)');
add_rewrite_tag('%id%','([0-9]+)');
add_rewrite_rule('job-details/([0-9]+)$', 'index.php?pagename=jobs&cc=show&id=$matches[1]', 'top');
global $wp_rewrite;
$wp_rewrite->flush_rules();
至于我的网址,如果我尝试访问网站site.com/job-details/1,它会将我重定向到/ jobs /,这是与我的插件关联的网页。
这是我的.htaccess文件
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
答案 0 :(得分:2)
原来我的脚本使用自定义函数通过$ _REQUEST对象获取GET参数,该对象被wordpress取消。
我使用以下代码来代替它。
global $wp_query;
$wp_query->query_vars['cc'];