我意識到這個問題已經被很多人的要求毆打致死,但大多數答案似乎只適合一個非常具體的情況,只適合他們的需求,到目前爲止我還沒有找到合適的解決方案(至少據我所見)。使用rewritemap和mysql重寫url參數
我的問題是,我試圖讓我的網站從一個ID重定向URL參數到一個實際的字符串。
例如:
www.example.com/?category=1
將顯示爲:
www.example.com/software
而
www.example.com/?category=2
將顯示爲:
www.example.com/software/desktop
從我讀過的,我應該看看一個Apache重寫映射,這是我的困惑進來的地方。我真的寧願不必從平坦的txt文件加載,因爲我會喜歡使它儘可能動態,並且我已經讀過,我可以使它從一個PHP文件中讀取並從MySQL數據庫中讀取,這正是我想要的。
問題是我真的不太確定實現這個的正確方法。 RewriteMap文檔僅僅涵蓋了平坦的.txt文件,並沒有用MySQL來實現。
所以基本上我問的是如果有人可以解釋如何實現我正在尋找的東西,或者至少指向正確的方向。到目前爲止,我發現的大多數線程可悲的是沒有太多幫助,但可能我可能會通過有用的線程。
如果有幫助,現在,我的MySQL數據是在繼承結構進行格式化,像這樣:
ID | Title | Link | Parent
1 | Software | /Software/ | NULL
2 | Desktop Software | /Software/Desktop/ | 1
2 | Mobile Software | /Software/Mobile/ | 2
PS: 我要補充一點,大多數的解決方案,我發現這個給予的例子:
RewriteMap examplemap prg:/path/to/file.php
RewriteRule (.*) ${examplemap:$1}
但它永遠不會提供有關file.php中的內容以及它如何查詢和返回值的信息。
編輯 我要指出,我是一個共享的主機服務器上,而不是我自己的私單,所以我可能不會獲得所有可能的選項
EDIT 2 貪圖清晰度: 我想要做的是讓訪問「example.com/software」的用戶將被視爲處於「example.com/?category=1」上;基本上非常漂亮的鏈接,並使其更具可讀性。唯一的一點是,我試圖從數據庫中讀取它
+1,用於清晰和完善地解釋手頭的問題。 –