每個指南看起來都很簡單直接 - 只需將一小段代碼放入functions.php中,然後通過轉到永久鏈接並保存即可刷新重寫規則。但是即使使用最寬泛的描述符,我的功能也不會被承認。即使將正則表達式設置爲0,add_rewrite_rule也會被忽略。*
我有我從這個使用的代碼慢慢消減下來:
function new_rewrite() {
add_rewrite_rule('^u/(.+)/?$','index.php?pagename=user-profile&user=$matches[1]','top');
}
add_action('init', 'new_rewrite');
到向我證明這完全包羅萬象的版本是非常嚴重的錯誤在這裏:
function new_rewrite() {
add_rewrite_rule('.*','index.php','top');
}
add_action('init', 'new_rewrite');
當我使用上面的代碼 - 只要我有意義,應該接受任何提供給它的內容並返回主頁---而不是完全忽略它,並且所有的工作方式與之前我試圖編寫任何規則的方式完全相同。
讓我重申一下:我已經將它放在了functions.php中,我添加了很多其他函數,例如add_custom_query_var以取得巨大成功,並且我也不斷刷新重寫規則。
這裏可能會發生什麼?
如果已正確刷新,您應該在htaccess中看到生成的規則。 – vard
@vard好吧我不知道它寫到htaccess。我檢查了,規則沒有出現在那裏。什麼可能會阻止我的同花順? –
也許在htaccess文件上有一些權限問題? – vard