我目前正在將一個應用程式從一個非常舊的 symfony 2.1 版本遷移到一個 symfony 6 版本。
并且有一段代碼不再起作用,我無法理解:
在 htaccess 檔案中有多個像這樣的定義:
RewriteCond %{HTTP_HOST} ^www\.cg\.mywebsite(\.com)?(\:[0-9] )?$
RewriteRule (.*) $1 [E=COUNTRY:57]
這表示如果主機模式遵循重寫條件,那么我可以在我的 PHP 代碼中獲得等于 57 的國家/地區值
$country = $request->server->get('COUNTRY', 1);
這在舊應用程式中作業得很好,但在新應用程式中我總是得到 1,好像國家根本沒有定義
舊應用程式:Symfony 2.1 / PHP 5
新應用程式:Syfony 6 / PHP 8
uj5u.com熱心網友回復:
我使用的本地服務器是內置的本地 symfony 服務器。
.htaccess是一個 Apache 組態檔。如果您使用內置 symfony Web 服務器(或 PHP 內置 Web 服務器),那么這不是 Apache,并且.htaccess不會處理該檔案(并且不會設定 env vars)。
如果您需要.htaccess為您的應用程式邏輯處理檔案,那么您需要運行 Apache,或將此邏輯移動到您的應用程式/PHP。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/391649.html
上一篇:在下面的代碼中,深度優先搜索的時間復雜度如何變成O(V E)?
下一篇:如果值未定義,則為物件分配默認值
