iT邦幫忙

0

一台主機+二個domain+二個WordPress問題

現在有一台主機,一個ip,二個domain,二個WordPress。
1.apache 服務,443 port網頁根目錄/ssl
2.www.test.com.tw 10.3.1.10 第一個WordPress 目錄/ssl/tw
3.en.test.com.tw 10.3.1.10 第二個WordPress 目錄/ssl/en

因為不同domain,網站的起始目錄不同(/ssl/tw、/ssl/en),
故在apache的httpd-ssl.conf設定
<VirtualHost *:443>
DocumentRoot "/ssl/tw"
ServerName www.test.com.tw
</VirtualHost>

<VirtualHost *:443>
DocumentRoot "/ssl/en"
ServerName en.test.com.tw
</VirtualHost>

啟動apache服務,使用google chrome執行https://www.test.com.tw或https://en.test.com.tw就會出現:
這個網頁無法正常運作en.test.com.tw 將您重新導向的次數過多。
試試看清除 Cookie.
ERR_TOO_MANY_REDIRECTS

看似進入一個轉址的無窮迴圈,因為太多次最後秀出異常,請問如何解決?

若只改使用一個doamin+一個WordPress,置於apache 443port網頁根目錄/ssl,不使用VirtualHost功能就能正常瀏覽。

看更多先前的討論...收起先前的討論...
ks1217 iT邦研究生 4 級 ‧ 2020-04-29 09:27:27 檢舉
www.test.com.tw 跟 en.test.com.tw 是屬於同一個網域名稱 test.com.tw , 前面只是主機名稱的分別, 如果只是語言版本不同, 應該是加在後面, 改用 www.test.com.tw/tw 跟 www.test.com.tw/en
Foster iT邦研究生 1 級 ‧ 2020-04-29 09:50:09 檢舉
@ks1217 當初在兩個domain或是一個doamin使用不同目錄區分語系,是公司與廠商討論後決議,最後決定使用不同domain來顯示不同語系,故無法更改。
雷伊 iT邦研究生 1 級 ‧ 2020-04-29 10:10:03 檢舉
能做到你的需求的一定是黑科技,你的語法是給不同Domain的需求用的,WordPress本身有一機多站台功能,但你的域名命名方式一開始就不成了,虛擬網址還沒偵測到子網域時就會互踢皮球,ks1217才是正解。
Foster iT邦研究生 1 級 ‧ 2020-04-29 12:38:36 檢舉
@雷伊 所以WordPress+VirtualHost=無窮迴圈(必死)就是了?
其他單純網頁+VirtualHost測過是正常的。
問題一
你的 <VirtualHost *:443> 沒有指定不同的網站
你兩個網站都設定監聽所有的IP,這樣會通才有鬼
問題二
你啟用了 SSL 卻沒有給證書跟KEY
問題三
你的阿帕契沒有宣告監聽的IP位址跟對應的FQDN
ks1217 iT邦研究生 4 級 ‧ 2020-04-29 15:18:05 檢舉
先把兩個網站位址都指到同一個網頁能運作嗎? 如果能, 在反過來都指向另一個網頁, 看看是否是網頁問題,
EX:
<VirtualHost *:443>
DocumentRoot "/ssl/tw"
ServerName www.test.com.tw
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "/ssl/tw"
ServerName en.test.com.tw
</VirtualHost>

這裡還有一些關於這個問題的檢查方法
https://kinsta.com/blog/err_too_many_redirects/
1. Delete cookies on that specific site
2. Clear WordPress site, server, proxy, and browser cache
3. Determine nature of redirect loop
4. Check your HTTPS settings
5. Check third-party services
6. Check your WordPress site settings
7. Temporarily disable WordPress plugins
8. Check redirects on your server
player iT邦大師 1 級 ‧ 2020-04-29 18:24:59 檢舉
WordPress 有多語系套件
不必自搞虛擬主機吧
Foster iT邦研究生 1 級 ‧ 2020-05-01 10:20:34 檢舉
感謝各位大師回覆。
因WordPress由廠商開發,兩個doamin區分語系版本是由主管與廠商套討論結果,我只負責架設在自己安裝的主機。
本來只想用一台主機就好,很多方法都試過了,但無奈狀況多、問題多又有上線壓力。
最後只能將主機*2+ip*2+domain*2+WordPress*2全分開一勞永逸。

1 個回答

2
浩瀚星空
iT邦超人 1 級 ‧ 2020-04-29 09:47:45

目前apache這邊的設定沒什麼大問題。

一般會發生這樣的無限轉頁。不外乎以下可能性

1.程式問題:可能有用了htaccess或是程式上有自動轉頁的控制造成的。
一般可以先自已用個簡單的html頁先試試,先排除程式問題。如果有htaccess的話。
可以先試著先拿掉試試。如果這樣測試後就不會發生無限轉頁的話。
那就找程式相關轉頁的問題就行了。
比較常犯的問題是 https 轉 http 然後進來後又自動轉https。

2.dns或是主機設定轉頁問題:會說dns的原因,像是cf dns。其實它有自動轉https的功能及啟用https連結。我之前常遇到的就是,啟用https這個功能忘了開。常常會https 強迫轉http。
然後連來又被強迫轉https造成無限轉頁。

Foster iT邦研究生 1 級 ‧ 2020-04-29 12:42:43 檢舉

感謝回覆,但上述不是我的原因。
之前測試結果 WordPress+VirtualHost 就是死(拿掉htaccess一樣),只要不是這樣的組合就正常,例如:一般單純網頁+VirtualHost、純WordPress不加VirtualHost。

那就得要再檢查你的 httpd.conf 設定看看。
是否有保留全轉向的設定。有的話有先拿掉。
基本沒看到你全部的設定是沒辦法判斷的。

一般我會先排除因素。先不放上wp還有htaccess。設定兩個vhost都指向一個單純的html。再開始調整查看原因。

一但成功可以分開轉向話。
再將設定檔的DocumentRoot指定的正確wp二個位置。

用一個一個拆解問題。先確定好httpd的設定可以正常後。
再來確定wp的設定是否正常。

一般如我上面的處理,一但轉到正常的wp路徑。又開始無限回圈的情況。
那就可以確定一定是wp設定的問題。你就可以不需要煩腦httpd的設定問題了。

Foster iT邦研究生 1 級 ‧ 2020-05-01 10:23:53 檢舉

單純WordPress+VirtualHost就是死,只要去掉其中一個就正常。
公司也有多個Laravel+VirtualHost就都正常。
最後還是感謝您的回覆。^^

我要發表回答

立即登入回答