這只是一個好奇心。我見過幾次:爲什麼你會在一個網站地址中使用兩個頁面?
http://www.website.com/index.php/en/contacts.html
這個邏輯背後的推理是什麼?爲什麼我們需要PHP文件,然後是html文件?
這只是一個好奇心。我見過幾次:爲什麼你會在一個網站地址中使用兩個頁面?
http://www.website.com/index.php/en/contacts.html
這個邏輯背後的推理是什麼?爲什麼我們需要PHP文件,然後是html文件?
有些人發現擁有一個單獨的index.php
文件(其中包括連接數據庫,頁面的基本佈局(導航,頁腳等)等)時更容易,裏面的實際文件(在這裏是/en/contacts.html
)。
就我個人而言,我認爲這是一個壞主意,因爲有這麼多更好的方法來做到這一點。其中之一是php.ini
中的auto_prepend_file
和auto_append_file
選項。
不可能說清楚,但我敢打賭「en/contacts.html」是index.php文件的路徑(超級不好的做法)。不要使用這種URL的語法,因爲它們不是用戶,也不是搜索引擎友好的。
這很可能是使用包含某些路由機制的框架。 index.php接受/en/contacts.html作爲參數,根據預先確定的規則檢索適當的文件並處理它們。
在大多數情況下的重寫規則中的Apache或Nginx的(或正在使用的任何Web服務器)被用於這樣的URL可以是以下形式:
http://www.website.com/en/contacts.html
然後一切根以下被解釋爲一個參數在index.php中。
在PHP(我相信其他的服務器端語言),你可以參考超全局$_SERVER['path_info']
在這種情況下的價值得到index.php
之後的路徑是
/en/contacts.html
,那麼你就可以處理在應用程序路徑,但是你認爲合適的(例如在MVC,/users/list
,你會初始化users
控制器,並在其上運行list
行動)
他們的搜索引擎友好的,但除非你保護他們,可以讓用戶負載量ngs喜歡:'http://www.website.com/index.php/en/../../../ etc/passwd'或其他東西.... – tkone 2012-04-19 01:31:10
@tkone Google喜歡用戶可讀的URL,索引.php/en/contacts.html絕對不是最好的選擇。 – zatatatata 2012-04-19 01:32:13
Google不知道該網址是什麼 - 只要路由是通過javascript(la twitter的hash-bang URL場景)完成的,Google就可以索引任何網址並返回正確的網頁。這比'http:// www.website.com/story/0,0,111,103,234.html'感謝得多''thankyouverymuchvinettestoryserver – tkone 2012-04-19 01:35:42