Drupal base_url错误地写了额外的子域名

时间:2012-02-15 02:41:13

标签: drupal url-rewriting drupal-7 redhat

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

我们的网站网址:http://drupal.sandbox.domain.com drupal索引页面加载资源网址为: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字符串的变量。 e.g:

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

1 个答案:

答案 0 :(得分:0)

这不是特定于Drupal的问题。通过创建独立的PHP页面并使用相同的代码进行测试,可以轻松检查这一点。由于变量在设置后立即被覆盖,因此显示PHP / Apache正在进行覆盖。

Apache可能会覆盖输入和输出。请参阅:What would cause PHP variables to be rewritten by the server?