2012-02-13 43 views
0

而我不想使用GET參數。需要將許多不同的URL解析爲單個網頁

下面是詳細信息:

  • 用戶有一堆的照片,並且每張照片必須通過自身顯示,形式是 www.mysite.com/theuser/photoNumber的unuique網址-N

  • 我創建一個唯一的網址,用戶每次添加新的照片,以他們自己的相冊時

  • 網頁顯示用戶的照片是相同的代碼永遠y用戶和每張照片 - 只有照片本身是不同的。
  • 用戶給出了一個網址,以人物A,但隨後人物A有一個網址,讓一張照片並不能看到用戶的其他照片(因爲每一張照片都有一個唯一的URL和Person-A給出了一個只有一個網址照片)

我想下面的網址(不知)最終只加載一個網頁,只有在照片內容是不同的:

www.mysite/user-Terry/terryPhoto1 
www.mysite/user-Terry/terryPhoto2 

www.mysite/user-Jackie/JackiesWeddingPhoto 
www.mysite/user-Jackie/JackiesDogPhoto 

我試圖避免的是:有我的服務器上同一網頁的許多副本,唯一的區別是.jpeg文件名。

如果我有200個用戶,每個人都有10張照片 - 我實現我的要求,即每一張照片是在頁面上本身具有鮮明的URL - 現在我已經得到了2000的網頁,每個顯示獨特照片,在我的網絡服務器上佔用空間,每一頁都是相同和冗餘的磁盤空間浪費的HTML代碼,唯一的區別是要顯示的照片的.JPEG文件名。

有什麼我可以做,以避免浪費磁盤空間,同時滿足我的要求,即每張照片都有一個唯一的網址是什麼? 我再次無法使用GET參數。

+0

您使用的是什麼Web服務器? Apache,nginx,IIS?您是否正在使用(或能夠使用)任何服務器端腳本,例如PHP? – Twisol 2012-02-13 09:39:15

+1

您的服務器可以重寫URL嗎?如果是這樣,那麼你可以在服務器端將這些URL轉換爲GET,而不需要在用戶端進行任何操作。 – 2012-02-13 09:40:31

+0

我正在開發Apache和xampp,但我的生產服務器沒有太多的控制權。我的代碼是PHP,MySQL,JavaScript所以是的,我可以在PHP代碼。 – wantTheBest 2012-02-13 09:43:31

回答

2

如果你是一個Apache服務器上,你可以使用Apache的mod_rewrite來實現這一點。雖然劇本你寫最終仍是獲取GET變量(www.mysite.com/photos.php?id=photo-id),mod_rewrite的將轉換所有URL在您選擇的格式(www.mysite.com/user-name/photo-id)提供服務。

一些可以實現它的方法可以找到herehere,而Apache模塊本身的實際文檔可以找到here

+0

哇,這是非常優雅。謝謝。 mod_rewrite,不是存儲空間的賣家的朋友。 ;) – wantTheBest 2012-02-13 10:01:24

0

轉到IIS管理器。轉到在IIS中託管的網站。爲每個網址添加附加綁定。

這將重定向所有請求相同的位置。