2011-06-24 24 views
0

我有一個PHP系統,包含用戶生成的網頁,排列在一個複雜和非統一的層次結構中。頁面是由用戶創建的,有些頁面有子頁面等。PHP中的多個動態搜索引擎優化/縮短網址

我被要求添加一個縮短的url系統。因此,可以通過domain.com/XXXX訪問任何頁面,其中XXXX可以是任何東西 - 我們對這裏的搜索引擎優化不感興趣,其背後的原因是它是一個非常受社交媒體驅動的項目,並且我們希望我們的用戶能夠發佈/推送他們喜歡的任何頁面的網址。

我期待的是類似的;我們從AAAA開始,並在每個頁面創建時朝着ZZZZ前進。這些蛞蝓的每一個將被存儲在數據庫旁邊的實際的URL例如domain.com/projects.php?p=32

我知道足夠的轉換domain.com/XXXX MOD-改寫成域.com/index.php?slug = XXXX,但是從那裏去哪裏讓我有點難過。 index.php可以將數據庫查詢和header()用戶轉換爲實際的url,但是slug-url需要留在地址欄中。

在index.php中使用iframe會是一個糟糕的主意嗎?

我希望清楚,謝謝閱讀!

+0

詳細的博客:http://sforsuresh.in/url-rewriting-using-htaccess-modrewrite/ –

回答

0

如果您在.htaccess重寫規則末尾使用[R=301]指令,它將充當重定向。意思是如果你去domain.com/XXXX它會在地址欄顯示domain.com/index.php?slug=XXXX。這是你想要完成的行爲嗎?

此外,我不會使用header(),我會讓您的索引頁成爲處理頁面。要麼,要麼使用include()方法。

+0

我認爲OP希望保持URL爲domain.com/XXXX,但要顯示目標頁面,這可能是類似於domain.com/pages/username/xxx.php – Skilldrick

0

我認爲使用iframe是一個可怕的想法,並將導致一個脆弱的網站。

index.php不能充當前端控制器,有沒有什麼原因,所以而不是重定向它只顯示頁面?您應該只需要include即可。


或者,你能不能改寫domain.com/XXXXdomain.com/projects.php?slug=XXXX,並在projects.php頂部做一個slug-> P轉換?然後,轉換隻需要記錄slu and和頁面標識,而不是slu and和完整的URL。

+0

我讀了一些你不能使用GET變量包含的地方。我想我可以將變量帶入範圍,然後包含。每個頁面也需要一個對話線程,我可能不得不重新考慮這一點。它開始看起來像wordpress。 – user814358

+0

好點。我認爲重定向到新網址更有意義,而不是保留slu g。這就是人們更習慣的。例如請按照此鏈接:http://stackoverflow.com/q/6470359/49376 – Skilldrick

+0

@ user814358看到我的編輯爲另一種想法。 – Skilldrick

相關問題