我的任務是讓一箇舊網站的網址「漂亮」如何使用數據庫值更改舊php網站上的URL結構?
這是一個房地產網站,有幾十個建築物,可能100個總公寓列表。
當前網址是這樣的:(我是能夠與.htaccess
輕鬆去除.php
擴展)
example.com/about?building-id=65
example.com/about?apartment-id=35
它變得相當複雜多了,有一些搜索的頁面,不同的列表視圖,一個接觸的形式頁面被髮送的建築物或公寓ID號來prefil一些信息等形式......
但對於這個例子...
理想的網址應
example.com/about/building-name/
example.com/about/building-name/apartment-name
建築物名稱和公寓名稱都是存儲在數據庫中的值,以id#s作爲主鍵。
研究這個問題有點後,我已經確定了幾個不同的方法
1)動態生成後的變化.htaccess
文件管理
- 我想我能做到這一點嗎?
- 它會明確重寫幾乎每個可能的有效查詢字符串的可能性(可能高達幾百)
- 我想這會導致一些性能問題,可能不是最佳實踐。
- 如果它是最簡單的選擇,只要它有效,我認爲它是草率和糟糕的做法。
2)創建控制器和rewite所有查詢index.php
這將放在一起從這裏各方面的意見。
- 這是多一點我的舒適區,但可能被認爲是最佳做法?
該網站是嚴重的時候,並把不良在一起對於這個問題,它真的2個不同的地點共享一個數據庫,並且大多數(有很多重複的代碼定製(非OOP)的PHP的行1000) (第2次被創造前一段時間與原來的代碼基礎的複製粘貼,並從此分道揚鑣)代碼庫
我的問題(一個或多個)
-
的
這些可行的選擇,我錯過了任何選擇?
我應該採取哪種方法?
與id一個例子可以幫助:'example.com/about/building-name/apartment-name '這個例子中的id在哪裏,或者是同一個名字? –
ID是數字,但名稱是一個字符串。這些名稱將映射到ID爲數據庫的ID作爲主鍵。所以......「about?apartment-id = 4324」必須查找帶有該ID的公寓,找到它的名字和相關的建築物ID。然後它會從* that * id中獲取建築物名稱,並像這樣構建網址:'about/building-name/apartment-name' –
這些名稱是否是唯一的? –