可能有人比我更有經驗解釋它是如何工作的鏈接(例如):文件夾中獲得價值
http://www.facebook.com/zuck
我認爲這是這個
http://www.facebook.com/profile.php?id=4
同樣的事情,我想, 「zuck」是一個GET類型的字符串,但我不明白我可以做同樣的事情。
非常感謝你
可能有人比我更有經驗解釋它是如何工作的鏈接(例如):文件夾中獲得價值
http://www.facebook.com/zuck
我認爲這是這個
http://www.facebook.com/profile.php?id=4
同樣的事情,我想, 「zuck」是一個GET類型的字符串,但我不明白我可以做同樣的事情。
非常感謝你
.htaccess文件:
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /profile.php?id=$1 [L]
非常感謝。我做到了 – 2012-03-03 15:22:00
你可以用Apache的mod_rewrite module輕鬆地做到這一點:這是一個機制,允許你指定投放的內容爲傳入的請求。例如,你可以做一個規則,在你的.htaccess文件,如:
RewriteRule (.*) index.php?req=$1
這將然後重定向每個傳入的請求到中央的index.php,在那裏你可以解析請求的URI(在你的榜樣,req變量將保存值「zuck」),然後您可以根據該信息提供一些內容(例如,您可以在包含用戶配置文件的數據庫中查找「zuck」,獲取與「zuck」值關聯的id,然後顯示用戶#24的配置文件)。
至少這是基本的想法。它通常被稱爲「URL美化」或「友好的URL」或「SEO網址」,搜索這些條款,你會發現很多資源。
其實,我不知道這件事,但我看到它的方式,Facebook的可能使用兩種方式來獲得一個輪廓
我快速的.htaccess,以確保所有的請求同一頁上到達。現在
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /profile.php?input=$1 [L]
,在profile.php,應該做一個簡單的檢查,就像在你喜歡的搜索引擎
$input = $_GET['input'];
if(is_string($input)) {
// then retrieve profile id, based on the string
}
//now either way you have an unique identifier at last
//
//
// use your logic further more
搜索'.htaccess'(或計算器) – knittl 2012-03-03 14:04:43
這不是一個參數完美的感覺。它的工作方式就像訪問Web服務器上的文件夾或文件一樣,但配置會將您重定向到特定的站點。這可以通過'.htaccess'文件完成,但不是唯一的選擇。 – Smamatti 2012-03-03 14:08:20