2011-04-20 33 views
0

WordPress的專家:mod改寫爲基於uri段的路由(wordpress permalink)

因此,我的wordpress實例目前設置爲使用友好的網址。我現在的重寫規則看起來像這樣:

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

這基本上意味着:一切都發送到index.php的調度。

我需要做的是每當有人訪問我的網頁/促銷時,我將剩餘的uri發送給該控制器(這是一個通過模板名稱:Promo附加到頁面的文件promo.php),但它會仍然需要通過index.php管道來做到這一點。

概括地說,我想/宣傳/ fakecompany技術上這樣的表現給WordPress的:index.php頁面=促銷& fakecompany

甚至重定向,將採取任何事物的第二段超越/促銷並創建一個查詢字符串,即它是一種動態類型的:

Redirect 301 /promo/fakecompany /promo/?fakecompany 
Redirect 301 /promo/fakecompany/referpage /promo/?fakecompany&referpage 

有沒有辦法做到這一點?或者可能是更優雅的解決方案?最壞的情況變得更糟了,我現在只需要在重定向中硬編碼:

在此先感謝。

回答

1

您當前的規則說:重定向任何不屬於常規文件或目錄的index.php

對於你的要求:

RewriteRule ^/promo/([^/]+)$ index.php?page=promo&$1 [L] 

RewriteRule ^/promo/([^/]+)/([^/]+)/$ /promo/?$1&$2 

應工作(只要你把它放在現行規則之前)