2010-05-04 100 views
0

我想像Facebook一樣創建一個像www.facebook.com/username這樣的URL。我們可以使用mod_rewrite來做到這一點。用戶名是表中用戶的名稱。它不是一個子目錄。請指教。創建用戶/搜索引擎友好的URL

回答

0

當然,mod_rewrite可以做到這一點。這是一個tutorial就可以了。

0

是的,你可以做到這一點,但你可能有一些初始障礙讓它正確地進行。

首先是您將不得不使用正則表達式來匹配它。如果你不知道正則表達式,那麼這可能會讓人困惑。

第二個是你需要考慮到你將要重寫域上的頂部路徑,如果文件不存在,你必須有一些機制來重寫。

我想如果mod_rewrite支持測試,如果url指向一個真正的文件,這將是容易的。如果不是,你可能不得不使用它不會重寫的黑名單,因爲你需要有一些保留字。

這至少會包含您的圖片,css,js等文件夾以及您的網站運行的index.php文件,以及您有任何其他正在踢的php文件。

我想要更多的幫助,但我是一個.net人,我通常幫助與asp.net url重寫問題的庫,如UrlRewriter.net具有不同的配置比mod_rewrite。

爲了匹配用戶名我會用這樣的正則表達式:

^/(\w*)/?$ 

這會然後把位在括號中爲您可以在重寫使用像

/index.php?profileName={0} 

的一個變量我提供的正則表達式意味着:

  • ^此前沒有任何內容
  • /正斜槓
  • (\ w *)任意數量的字母或數字
  • /?可選正斜槓
  • $此後沒有任何內容