2010-02-15 68 views
8

對於基於Zend Framework的應用程序,我使用.htaccess中的apaches SetEnv。我在測試,分段和生產服務器上使用它,如下所示:Apache SetEnv prepends REDIRECT_。是什麼賦予了?

SetEnv APPLICATION_ENVIRONMENT production 

在登臺服務器上,我無法在PHP中讀取此env變量。然而,當我在PHP做了var_dump($_ENV)我得到了價值,但關鍵是用REDIRECT_成爲

REDIRECT_APPLICATION_ENVIRONMENT 

任何人都可以解釋爲什麼發生這種情況預先計劃,以及如何避免這種情況?

回答

7

我猜你的.htaccess中的mod_rewrite規則和Zend?我相信它可能是mod_rewrite,它會在重定向的時候使這個值不會被任何帶有新URL的新設置覆蓋。

+0

你的猜測確實如此。你可能對mod_rewrite是正確的,但我不相信其他服務器也顯示這種行爲,並且他們有完全相同的mod_rewrite設置。我必須檢查一下。非常感謝。 –

+0

@fireeyedboy實際上,我是驚訝地發現甚少在比用戶評論其他所有在論壇的帖子這個問題,並沒有實際的可靠的來源信息。我確實看到一兩個關於它是Apache版本特定的帖子,您的登臺計算機的Apache是​​否與您的開發和生產版本不同?你的開發和生產是否一樣,而不是在其中的任何一個上做? – nortron

+0

@fireeyedboy你能否詳細說明一下 - 你有做些什麼來解決這個問題嗎? –

2

我有同樣的問題,這是因爲在我的Apache運行PHP作爲CGI。

啓用mod_php後,我可以訪問我的變量沒有這個前綴。

相關問題