2012-02-15 42 views
0

我們在RHEL(RedHat)服務器上安裝了基本的drupal多站點安裝。 由於某些原因,查看網站時,資產網址(CSS/JS)都指向錯誤的子域。Drupal base_url錯誤地寫入額外的子域

我們的網站網址:http://drupal.sandbox.domain.com drupal索引頁面加載的資產URL寫爲:http://drupal.sandbox.sandbox.domain.com。 爲什麼會在額外的.sandbox子域中添加drupal?

.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 

回答

0

這不是一個特定於Drupal的問題。這可以通過創建獨立的PHP頁面並使用相同的代碼進行測試來輕鬆檢查。因爲該變量在設置後立即被覆蓋,這表明PHP/Apache是​​進行覆蓋的人。

Apache可能會覆蓋輸入和輸出。參見:What would cause PHP variables to be rewritten by the server?