目前,我有一個標準安裝的WordPress 3.0,而.htaccess文件看起來是這樣的:Wordpress,.htaccess和mod_rewrite:如何添加重定向規則?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我想重寫URL,這樣我可以提供一些自動生成的頁面,但內保持WordPress的主題。例如,前往/event/123/
應從我的數據庫中提取事件#123的詳細信息,而不在Wordpress中存在頁面。
我想我可以在WordPress的創建一個「一般事件」頁面,並把它帶一個參數,如(例如/event/generic/
):
RewriteRule ^event/(\d+)/$ /event/generic/?q=$1 [L]
然而,這似乎並沒有工作,它只需要我到Wordpress 404頁面。我在想,我可能會在這裏問很多WordPress,但肯定有可能嗎?
我想到的唯一的其他解決方案是在主題內部破解404.php。
更新
我.htaccess
看起來是這樣的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteRule ^eventtest/(\w+)/$ /events/event-single/ [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如果我當時去/eventtest/testing/
,則:存在於WordPress的
$_SERVER['REQUEST_URI'] is /eventtest/testing/
$_SERVER['REDIRECT_URL'] is /events/event-single/
的/events/event-single/
頁,但如果我去/eventtest/testing/
,我得到一個404頁面。
+1,這就是爲什麼WordPress重寫規則已被簡化。 – 2010-08-11 10:27:22