我实际上有一些奇怪的问题,包括add_rewrite_rule():
function qvs( $vars ){
$vars[]= 'myvar';
}
add_action( 'query_vars, 'qvs' );
function myrewrite(){
add_rewrite_rule('something/([0-9]+), 'index.php?pagename=something&myvar=$matches[1]' );
}
add_action( 'init', 'myrewrite' );
这根本不会在.htaccess文件中写任何规则
function myrewrite(){
add_rewrite_rule('something/([0-9]+),'something/?myvar=$matches[1]' );
}
add_action( 'init', 'myrewrite' );
写一个rewriteRule:
RewriteRule something/([0-9]+) /a-wordpress-plugins-work/something
/?myvar = $ matches [1] [QSA,L]
但它不起作用......仍然以我的404页面结束
add_rewrite_rule('^something/([0-9]+), '/something/?myvar=$matches[1]' );
打印一个看起来像这样的奇怪规则:
RewriteRule ^^something/([\d]+) /a-wordpress-plugins-work//something/?myvar=$matches[1] [QSA,L]
当然这些都不起作用......
一旦我使用'index.php?
...该函数无法在.htacees文件中写入任何内容。
.... EUARRGG !!!! Pleease heeellllp !!!!!
答案 0 :(得分:1)
重写规则不存储在htaccess文件中..它们存储在选项表的1个字段中。
有这个插件:https://github.com/humanmade/hm-rewrite 它是wordpress中重写url的一个非常轻的包装器,也不是比wordpress方式更好的组织和更多的逻辑。我建议你试一试。
它没有做任何神奇的东西也没有添加任何新的表格左右..只是一个包装:)
对于规则的测试,您可以使用:https://de-ch.wordpress.org/plugins/rewrite-rules-inspector/
确保在添加新规则后刷新重写规则。 您可以使用此插件刷新它们,或使用名为flush_rewrite_rules的构建函数