2012-02-13 45 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中托管的网站。为每个网址添加附加绑定。

这将重定向所有请求相同的位置。