建站经验技巧通过创建虚拟目录,使移动站和PC站共用图片资源

通过创建虚拟目录,使移动站和PC站共用图片资源

很多站长都为自己的网站建设了单独的移动站,比如电脑版的搜狐网www.sohu.com对应的移动版网站就是m.sohu.com,大多数站长建设移动站的做法是与PC站共用数据库,这样保证两个站能同步更新,一般情况下,移动站里的图片(或其他附件)都是直接调取PC站里的资源,但这样做的前提是网站里的图片必须是绝对链接。而由于一些建站系统的功能的原因,网站文章内容里的图片无法使用绝对链接,或者是有些建站程序只能将移动版的页面放置在一个子目录中,这样便导致移动站的图片无法正常显示,例如:

某PC版的网站www.sohu.com上有下面这段内容:

<p><img alt="产品图片" src="/uploads/123.jpg" /></p>

那么这样图片的绝对地址应该是http://www.sohu.com/uploads/123.jpg

如果移动站的内容与PC站同步,则在移动站m.sohu.com里,这样图片便无法显示,因为http://m.sohu.com/uploads/123.jpg这个文件是不存在的,如果想让该图片正常显示,则需要将图片链接改为绝对地址,即:

<p><img alt="产品图片" src="http://www.sohu.com/uploads/123.jpg" /></p>

实际建站中可能因为建站系统的问题无法使用绝对地址,或者不方便转换文章中的图片地址,那么可以通过虚拟目录来解决这个问题。比如上面的例子,我可以在移动站的目录下新建虚拟目录uploads,映射到PC站目录下的uploads目录就可以了。

如果是WIN2003服务器,在IIS6里可以很方便的新建虚拟目录,步骤如下:

1. 打开IIS管理器,在“网站”里找到移动站,在移动站根目录上右击,选择“新建”,选择“虚拟目录”:

IIS虚拟目录.png

2. 在虚拟目录的别名处填写uploads:

IIS虚拟目录2.png

3. 内容目录通过“浏览”选择PC站下的uploads目录:

IIS虚拟目录3.png

4. 接着点下一步,默认“读取”权限就可以了,再点下一步直到完成即可:

IIS虚拟目录4.png

经过这样简单的设置后,访问http://m.sohu.com/uploads/123.jpg就可以正常显示这样图片了。

如果是WIN2008服务器,在IIS7里设置虚拟目录的方法是差不多的:

1. 打开IIS管理器,在“网站”里找到移动站,在移动站根目录上右击,选择“添加虚拟目录”:

IIS7虚拟目录1.png

2. 将别名设置为uploads,物理路径填入PC站uploads目录的路径,点击确定即可:

IIS7虚拟目录2.png

在IIS里设置虚拟目录很简单,如果是Nginx服务器,遇到类似的问题,也可以通过相关的配置来解决,比如在移动站的配置文件中写入:

location ^~/uploads/ { 
 alias /wwwroot/pc/uploads/ ;
}

这也就相当于给移动站创建了一个虚拟目录uploads,映射到PC站uploads目录的实际路径上了。

站长Colin Gao,85后自由职业者,爱钻研,爱学习网页设计。建立本站的目的是整理学习笔记,分享学习经验,认识更多的朋友。感谢您阅读本站的文章,部分内容参考了网上的一些教程,但我会尽量根据自己的理解写更多原创的东西,本站网址如下,欢迎转载:
如果方便的话,转载请注明来自:http://www.jzdi.com.cn/website/107.html