我想除了使用WordPress的寫一個重寫規則AJAX重寫規則:對目錄
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我不喜歡一切重定向到主頁面。我有多個子目錄也需要重定向:http://www.example.com/sub1和http://www.example.com/sub2。我正在這樣做,所以我的內容可以通過Ajax加載。
我認爲這將僅僅是
RewriteRule ^/(sub1|sub2)/(.*)$ http://www.example.com/$1/ [L]
其中我放在這裏塊:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(sub1|sub2)/(.*)$ http://www.example.com/$1/ [L]
RewriteRule . /index.php [L]
</IfModule>
也許與WordPress,你必須使用wp_rewrite_rule?我想我可能會混淆.htaccess文件,讓我的規則工作,然後將其移到函數。
任何幫助,將不勝感激。
謝謝。
更新: 我也試着設置.htacces文件恢復到WordPress的默認...這代碼添加到functions.php文件爲我的子主題:
function AJAX_rewrite_rule() {
add_rewrite_rule(
'^/(sub1|sub2)/(.*)$',
'http://www.example.com/$1',
'top');
};
add_action('init', 'AJAX_rewrite_rule');
似乎減慢一切的負載,但所有未找到的文件仍然被重定向到主頁面,而不是子目錄。
UPDATE#2 我想我錯了方向,因爲add_rewrite_rule只是添加一個規則到wordpress已經存在的結構。這一切都通過解釋URL的作用,並將它們更改爲由索引運行的數據庫查詢的變量。
我很確定我需要使用$ wp_rewrite-> non_wp_rules。如果有人有更多的想法,讓我知道。
既不工作,但謝謝你 – JVD
如果你在第二個RewriteCond之後添加了這個(使用我的第一個示例): RewriteCond%{REQUEST_URI}!^/sub1/ RewriteCond%{REQUEST_URI}!^/sub2 /(我更新了答案) – Nitroware
從那裏,您可以在這些子目錄中使用.htaccess來根據需要重定向 – Nitroware