2012-07-10 78 views
0

我使用Wordpress 3.4.1打開了固定鏈接。在我的.htaccess,我有以下代碼:集成Wordpress和自定義URL重寫

<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://example.com/about/video-center/youtubeID/title-slug/

它得到內部改寫爲:

http://example.com/about/video-center/

現在,第一個URL 404s。


我試過RewriteBase /行之後添加此規則,以我的.htaccess:

RewriteRule ^about/video-center/(.+)$ /about/video-center/ [NC,L] 

這什麼也不做(我仍然獲得了404)。如果我將一個R添加到標誌,那麼它將重定向和/ about/video-center /加載得很好,這使我相信該規則正確匹配並重寫。


我的理論是,重寫工作正常......但是當WP的重寫規則生效,任何自定義重寫規則我已經被覆蓋 - 即使它的內部重寫,WP仍試圖處理位於地址欄中的網址。

我不知道如何解決這個問題,並使我的自定義重寫Wordpress的工作。

現在,我意識到可能無法單獨實現我想從.htaccess獲得的結果,並且我的主題的functions.php中可能需要插件或一些自定義代碼來解決此問題。我願意接受任何解決方案。

回答

0

This看起來很有希望。 (來自WP的文檔)查看第一個例子 - 您可以跳過添加查詢變量,因爲您正在尋找的重寫看起來更簡單。

但是,ID/url-slug會發生什麼?該信息不再需要?

+0

的ID /彈頭部分被瀏覽器中使用的Java腳本。對於視頻部分,我希望使用History.js將狀態推送到瀏覽器,而不是重新加載頁面 - 但我希望允許用戶按照上面的結構固定到特定的「頁面」,並且我正在嘗試執行這沒有查詢字符串或散列。該鏈接的第一個示例重定向到/ about/video-center /,這不是我想要的。 – Jazzerus 2012-07-10 19:42:27