UPDATEWordPress的重寫規則
我已經通過在改寫API食品文檔不見了,現在在我的functions.php如下:
function my_rewrite_rules() {
add_rewrite_rule('(a|b|c|d)/?$', 'index.php?pagename=$matches[1]-overview&myVar=var', 'top');
}
add_action('init', 'my_rewrite_rules');
是的,我要去永久鏈接頁面在調整後刷新規則。行爲是一樣的,即使頁面確實存在,404s以上的規則也是如此,我可以通過直接在地址欄中輸入來訪問它。不過,如果我硬編碼,像這樣的正則表達式的比賽之一:
function my_rewrite_rules() {
add_rewrite_rule('(a|b|c|d)/?$', 'index.php?pagename=a-overview&myVar=var', 'top');
}
add_action('init', 'my_rewrite_rules');
那麼所有的作品如預期,具有查詢乏正確設置。想法?
原來的問題
我一直試圖讓WordPress的重寫規則到現在相當一段時間工作,我絕對難倒,爲什麼下面的代碼(在functions.php中)沒有按」 t工作:
function my_rewrite_rules($rules) {
$my_rules = array('(a|b|c|d)/?$' => 'index.php?pagename=$matches[1]-overview&my_var=somevar');
return array_merge($my_rules, $rules);
}
add_filter('page_rewrite_rules', 'my_rewrite_rules');
我有禁用標準重定向和重寫只是404s。如果啓用重定向,它會轉到正確的頁面,但我的查詢變量將被刪除。如果我刪除'$ matches [1]'並將其替換爲a,b,c或d,則禁用規範重定向時,所有內容都按預期工作。我意識到有幾個解決方法,但我只是想了解爲什麼以下不起作用?謝謝!
你的問題不幸對我沒有任何意義.. –
我認爲你應該使用'Rewrite_API'和'$ wp_rewrite'對象,而不是試圖直接訪問或設置屬性。 –