【问题标题】:Drupal base_url incorrectly writing extra subdomainDrupal base_url 错误地写入额外的子域
【发布时间】:2012-03-06 10:17:57
【问题描述】:

我们在 RHEL (RedHat) 服务器上安装了基本的 drupal 多站点。 出于某种原因,在查看网站时,资产 URL (CSS/JS) 都指向错误的子域。

我们的站点 URL:http://drupal.sandbox.domain.com drupal 索引页面加载时资产 URL 被写为:http://drupal.sandbox.sandbox.domain.com。 为什么 drupal 会添加额外的.sandbox 子域?

.htaccess 文件已保留为默认值,还尝试将 RewriteBase 设置为/,但没有任何更改。 sites/default/settings.php 文件的 base_url 设置为:$base_url = 'http://drupal.sandbox.domain.com' 但 Drupal 在某处覆盖了它。将$base_url 设置为服务器的 IP 会导致资产链接到正确的位置(使用 IP 而不是实际域),但这并不理想。

我已经在 Ubuntu 服务器上使用相同的配置进行了测试,没有任何问题。我不确定如何找出这个问题的原因。

编辑:似乎服务器正在解析域并立即覆盖包含 URL 字符串的变量。 例如:

$base_url = 'http://drupal.a.domain.com'
die($base_url); // shows: http://drupal.sandbox.a.domain.com

【问题讨论】:

    标签: drupal url-rewriting drupal-7 redhat


    【解决方案1】:

    这不是 Drupal 特有的问题。这可以通过创建一个独立的 PHP 页面并使用相同的代码进行测试来轻松检查。由于变量在设置后立即被覆盖,这表明 PHP/Apache 是进行覆盖的那个。

    Apache 可以覆盖输入和输出。见:What would cause PHP variables to be rewritten by the server?

    【讨论】:

      猜你喜欢
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 2014-04-18
      • 2016-02-19
      • 1970-01-01
      • 2015-03-31
      相关资源
      最近更新 更多