我正在处理一个烦人的问题。我必须对一个大型网站进行一些更改,其源代码不受我的控制(分包(。像往常一样,我尝试重建网站的本地副本来测试我的更改。现在的问题是,图像,css,链接等URL中使用的几乎所有路径都是指向根目录的相对路径,例如
href="/style/main.css">
这是一个问题,因为我在 Intranet 服务器上开发,并将此项目放入嵌套目录中,因此项目文件的 URL 是 sth。
http://myIntranet.com/checkout/project
发生的情况是第一个示例中的路径无法正确解析。所以我尝试使用基本标签将链接解析为的目录设置为
当路径是
href="style/main.css">
开头没有斜杠,但在斜杠存在时失败,因为(我认为(链接是从服务器主机解析的,而不是从标签中的 URI 解析的。
那么......是否有可能使"/dir/file.html"链接从根而不是服务器根解析?还是我必须手动从路径中删除所有预置斜杠(urgh(?
提前谢谢。 :)
如果你在网站上做本地开发,你可以做以下任一操作。两者都涉及在基文件夹中移动项目,而不是使用文档根目录中的子文件夹。
不同端口上的虚拟主机
在 Web 服务器中,创建另一个侦听端口和虚拟主机。
重新启动后,您可以http://localhost:81
或您选择的任何端口号访问您的 Web 服务器。
同一端口上的虚拟主机
仅创建另一个虚拟主机(如上所述(,但请确保使用命名虚拟主机。
重新启动后,您必须使用简单的文本编辑器在主机文件(c:windowssystem32driversetchosts
或/etc/hosts
(中添加另一个条目:
127.0.0.1 localhost myproject1.self.com
上面的行应该已经存在,因此您可以继续向其添加更多名称:
127.0.0.1 localhost myproject1.self.com myproject2.self.com
个人喜好
我喜欢第二种选择,因为我不必弄乱端口和像Facebook API这样的东西可以按预期工作。
我希望这一切都有意义,否则请告诉我。