2012-09-10 40 views
0

只是一個簡單的問題,虛榮URL但隨着設置

我提出的用戶配置文件爲我的網站,並希望包括個性化網址,但網頁已經有很多這被加載單獨的信息,如關注標籤,上傳選項卡,並且其中每個都有一些可以應用的設置,如ASC DESC,新舊結果等。有什麼最好的方式來使虛榮的URL,但保持我需要的功能?對於每個結果

http://www.site.com/user.php?id=1&content=Followers&Order=(Different設置)

但我想知道它是否會更好,如果我應該只是名稱不同,如果有人想搜索的追隨者+的限制,例如

http://www.site.com/user.php?id=1&content=NewestFollowers的內容,

而不是

http://www.site.com/user.php?id=1&content=Followers&Order=Newest

+0

非虛榮網址是什麼樣的? –

+0

編輯該問題:) – user1527354

+0

沒有用戶名可以傳遞給的參數,你將被限制爲用戶ID(例如'1') –

回答

0

您通常需要構造虛空網址,以便它直接將查詢字符串參數映射到醜陋的URL。所以,如果您有:

http://www.site.com/user.php?id=1&content=Followers&Order=Newest 

你可以讓你的個性化網址看起來像:

http://www.site.com/u/1/Followers/Newest/ 

/1/位是有點醜,不完全是虛榮心,所以如果你可以通過用戶名該查詢字符串參數,它會更好看:

http://www.site.com/u/jonlin/Followers/Newest/ 

然後你只是把一些mod_rewrite的規則,在您的文檔根目錄的htaccess文件,內部重寫虛榮URL返回醜陋的地址:

RewriteEngine On 
RewriteRule ^u/([^/]+)/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2&Order=$3 [L,QSA] 
RewriteRule ^u/([^/]+)/([^/]+)/?$ /user.php?id=$1&content=$2 [L,QSA] 
RewriteRule ^u/([^/]+)/?$ /user.php?id=$1 [L,QSA] 
+0

我看到很多網站,而不是使用/分開那裏他們使用#的網址?有沒有區別,如果有的話,哪個更好? – user1527354

+0

@ user1527354'#'是一個URL片段,它永遠不會發送到服務器,它嚴格來說是客戶端,有時由javascript使用。 –

+0

完美,謝謝。 – user1527354