【问题标题】:base url redirecting for absolute urls绝对网址的基本网址重定向
【发布时间】:2012-05-16 05:12:44
【问题描述】:

我正在处理一个烦人的问题。我必须对一个大型网站进行一些更改,该网站的源代码不受我控制(分包)。通常我会尝试重建站点的本地副本以测试我的更改。现在的问题是几乎所有在 URL 中用于图像、css、链接等的路径都是指向根目录的相对路径,比如

href="/style/main.css"

这是一个问题,因为我是在内网服务器上开发的,并且我把这个项目放到了一个嵌套目录中,所以项目文件的 URL 是 sth。喜欢

http://myIntranet.com/checkout/project

发生的情况是第一个示例中的路径无法正确解析。所以我尝试使用base标签来设置链接应该被解析为的目录

当路径为时效果很好

href="style/main.css"

开始时没有斜杠,但是当斜杠存在时失败,因为(我认为)链接是从服务器主机解析的,而不是从标记中的 URI 解析的。

那么...是否有可能使“/dir/file.html”链接从根目录而不是服务器根目录解析?还是我必须手动从路径中删除所有前置斜杠(呃)?

提前致谢。 :)

【问题讨论】:

    标签: redirect url-rewriting base


    【解决方案1】:

    如果您在网站上进行本地开发,您可以执行以下任一操作。两者都涉及将您的项目移动到基本文件夹中,而不是使用文档根目录中的子文件夹。

    不同端口上的虚拟主机

    在您的网络服务器中,创建另一个 listening portvirtual host

    重启后,您可以使用http://localhost:81 或您选择的任何端口号访问您的网络服务器。

    同一端口上的虚拟主机

    只创建另一个虚拟主机(如上),但确保使用命名虚拟主机。

    重新启动后,您必须使用简单的文本编辑器在主机文件中添加另一个条目(c:\windows\system32\drivers\etc\hosts/etc/hosts):

    127.0.0.1 localhost myproject1.self.com
    

    上面的行应该已经存在,所以你可以继续添加更多的名字:

    127.0.0.1 localhost myproject1.self.com myproject2.self.com
    

    个人喜好

    我喜欢第二个选项,因为我不必乱用端口,并且 Facebook API 之类的东西可以继续按您的预期工作。

    我希望这一切都有意义,否则请告诉我。

    【讨论】:

    • 谢谢杰克。想尝试第二个选项但感到困惑。任何机会你都可以提供一个白痴证明的例子。谢谢
    • 你在困惑什么?我可以添加许多细节,但它可能只是你需要的。
    猜你喜欢
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 2018-06-02
    • 2010-10-28
    • 2010-11-29
    • 1970-01-01
    相关资源
    最近更新 更多