【问题标题】:using root-relative urls and problems with testing locally使用相对于 root 的 url 和本地测试的问题
【发布时间】:2011-12-19 23:48:24
【问题描述】:

我正在使用 XAMPP 在本地测试站点,但在使用根相对 URL 时遇到问题,因为根是 http://localhost/ 而不是存储站点文件的 http://localhost/test-site/。显然,当我将站点上传到远程服务器时,一切正常,但是当样式表甚至没有被加载时,它会使本地测试变得烦人。

有没有办法解决这个问题?

MTIA。

(Mohamed,我不知道你为什么要编辑我的标签——我的帖子中没有提到 php,所以我不知道你为什么添加 php 作为标签。此外,该帖子与 html 和 localhost ,这就是为什么我使用“html”和“localhost”作为标签并恢复标签的原因。如果我错误地标记帖子,我会很感激解释为什么以及如何确保我将来正确标记帖子。谢谢.)

【问题讨论】:

    标签: php html xampp localhost


    【解决方案1】:

    您可以在设置文件或 index.php 中使用常量:

    define('LOCAL_URL', 'http://localhost/test-site/');
    define('DISTANT_URL', 'http://domain.tld/');
    define('DEV_VERSION', true);
    

    然后:

    if(DEV_VERSION)
        define('URL', LOCAL_URL);
    else
        define('URL', DISTANT_URL);
    

    因此您可以在代码中简单地使用 URL 常量,例如:

    <link rel="stylesheet" type="text/css" href="<?php echo URL; ?>style/site.css" />
    

    优点是它适用于所有情况。

    而且添加调试控件也很简单:

    if(DEV_VERSION)
        error_reporting(E_ALL ^ E_DEPRECATED ^ E_USER_DEPRECATED);
    else
        error_reporting(0);
    

    【讨论】:

    • -1 表示 fery 最后一个代码 sn-p。将错误报告设置为 0 是开发人员可以做的最愚蠢的事情。 显示错误应该被关闭,而不是错误报告。您如何得知网站上的所有错误?
    • 谢谢,这真的很有用!根据上面 Col.Shrapnel 的评论,我不会将错误报告设置为 0,但这非常有帮助。谢谢你们!
    【解决方案2】:

    最方便的解决方案是为每个测试站点创建一个专用域。
    我确信 XAMPP 甚至有一些工具可以完成这项任务,使这几个配置文件编辑自动化

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-21
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      相关资源
      最近更新 更多