我试图通过从一个主机复制一个网站到另一个不同的主机来创build一个开发服务器,但是这些服务器好像处理不同的虚拟path。
在主服务器上这工作:
<link href="/styles/styles.css" rel="stylesheet" type="text/css">
在dev服务器上,需要将相同的path写成(不带第一个斜线):
<link href="styles/styles.css" rel="stylesheet" type="text/css">
我怎样才能使dev服务器与主要的服务器文件工作,而不重写path? 这是我可以做的.htaccess与国防部重写?
首先,介绍path如何工作的一些背景。 绝对path基于服务器根目录 。 相对path基于当前页面的URL(而不是文件path)。 但是,这种行为不是由服务器处理 – 由客户端处理,这种行为是普遍的(是的,甚至IE6 …我知道,惊喜!)。 唯一会导致这两条path不一样的是,如果它们不相对于网站的根。
例如,如果我们试图访问上面提到的URL(/styles/styles.css),下面是两个例子的行为:
“主服务器”网站托pipe在http://mainwebsite/index.html
styles/styles.css => http://mainwebsite/styles/styles.css /styles/styles.css => http://mainwebsite/styles/styles.css
“Dev Server”网站托pipe在http://devsite/some_sub_dir/index.html
styles/styles.css => http://devsite/some_sub_dir/styles/styles.css /styles/styles.css => http://devsite/styles/styles.css
如果你澄清你的答案(这些服务器显然不是以相同的方式托pipe相同的数据),我可以提供更准确的描述。 但是,如果我不得不猜测,我想说你可能会遇到我所描述的问题。
祝你好运!
安德鲁