我有一個使用MODx Revolution(2.2.10-pl,高級安裝)的網站,我們稱之爲www.example.com
,我想用http和https訪問它。配置MODx Revolution可以同時使用http和https
要實現這一點,我調整了site_url
上下文設置爲[[++url_scheme]]www.example.com/
。使用[[~id]]
創建的鏈接似乎沒問題,但有時,生成的鏈接真的很奇怪。我的解釋是,以編程方式創建鏈接的代碼不適用於我的設置,但我不知道爲什麼,或者我將如何啓用http和https。
問題第一,以下示例:我應該如何設置site_url
或任何其他網站/環境設置,以便我的網站上的鏈接可以同時處理http和https?可選地,在我看到一個錯誤或行爲給出革命的標籤評估語義的行爲?
不端行爲的例子:
當我在管理器點擊「視圖」別名爲example
的資源,在打開該地址是
https://www.example.com/xyz/[[++url_scheme]]www.example.com/example/
其中xyz
是我的經理網址。預期網址當然
https://www.example.com/example/
哪裏發生這種情況是失敗的登錄另一種情況;我登錄調用看起來是這樣的(減去不相關部分):
[[!Login? &redirectToOnFailedAuth=`[[++unauthorized_page]]`]]
的unauthorized_page
的預期完整的URL是
https://www.example.com/special/401
但打開登陸失敗爲username
的URL是
https://www.example.com/[[++url_scheme]]www.example.com/[[++url_scheme]]www.example.com/special/401?u=username
第二個例子對於http來說是一樣的,當然除了方案之外;我還沒有用http登錄經理。
編輯
.htaccess
在Web根目錄:
RewriteEngine On
RewriteBase/
# redirect all requests to /en/favicon.ico to /favicon.ico
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(en)/favicon.ico$ favicon.ico [L,QSA]
#RewriteRule ^(en|nl|de)/favicon.ico$ favicon.ico [L,QSA]
# redirect all requests to /en/assets* /assets*
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(en)/assets(.*)$ assets$2 [L,QSA]
#RewriteRule ^(en|nl|de)/assets(.*)$ assets$2 [L,QSA]
# redirect all other requests to /en/*
# to index.php and set the cultureKey parameter
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
#RewriteRule ^(en|nl|de)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
在經理的目錄.htaccess
:
RewriteEngine On
RewriteBase/
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/xyz/$1
怎麼樣在MODx根htacess文件?在那裏重寫/在哪些條件下?也可能是管理員根目錄下的MODx的htacess。試圖想想我過去遇到過的問題。 – camelCase
關於htaccess的好處,我添加了根和管理器目錄的非註釋部分。似乎有關FURLs的部分在第一個htaccess中未啓用,儘管我們使用它(成功)...我將嘗試瞭解那裏發生了什麼...... –
什麼是您的基礎href標記?你可以試試這個 嗎?其實沒有任何htaccess或上下文的調整。 –
orbitory