2009-10-15 27 views
0

每個用戶都可以有一個網站,每個用戶得到自己的網址,如: www.thewebsite.com/myusername自定義URL在PHP

我希望每個用戶的網站是一樣的,唯一的名稱很重要的原因是,如果一個訪問該網站的人註冊了,他們將獲得他們自己的自定義網址,但是他們註冊的人會被追蹤爲他們的「父母」。

所以如果我去www.thewebsite.com/phil註冊成爲David,那麼我的網站就會變成www.thewebsite.com/david,但是Phil會記錄在我的用戶記錄中。 (即有沒有辦法,我知道他們訪問了哪些URL下的網站),所以

,確實這是兩個問題:

1)如何使每個用戶 2自定義的網址)我怎麼知道哪一個新用戶訪問過的網址是

我是PHP新手,所以請牢記這一點。

+0

上面給出了一個很好的答案,只有我意識到它可能不是我正在尋找的答案。 我想要的是,當有人在電子郵件中發送該鏈接時,我的網址爲www.domain.com/user,但當涉及到我的網站時,沒有www.domain.com/user目錄。我的系統會將該目錄識別爲用戶名並從那裏繼續。 基本上,我希望任何有效的用戶都能夠發出指向www.domain.com/MYUSER的鏈接,而無需在我的網站上存在該物理目錄。 這可能嗎? – 2009-10-15 20:31:05

回答

3

你可以使用apache mod_rewrite來實現這個。

做一個重寫規則類似:

^/users/($1) /users.php?userid=$1 

在user.php的文件中讀取用戶ID參數,並返回對應於給定用戶的頁面。

至於從哪個用戶那裏註冊/登錄到您的站點,您可以保留一個會話值(例如引用用戶標識),以及新用戶註冊時,寫入您的將其引用到您的站點的db 。

+0

是否可以在不訪問mod_rewrite的情況下執行此操作? 至於mod_rewrite的事情,我猜測URL只是顯示給用戶/ users/myuser,但仍然顯示爲我的程序/users.php?userid=myuser 這是正確的嗎? – 2009-10-15 02:46:36

+0

「就mod_rewrite而言,我猜測URL只是向用戶顯示爲/ users/myuser,但仍以/users.php?userid=myuser顯示給我的程序這是正確的嗎?」 是的,沒錯。 – lemon 2009-10-15 02:58:10