我有一個網站(example.com)和外部託管的博客(externalblog.com),並使用ISAPI重寫進行反向代理。因此,如果您訪問www.example.com/blog,您實際上位於externalblog.com上,但URL被屏蔽。重定向HTTPS到一個目錄的HTTP,而ISAPI重寫的地方
我有很多網站的工作,但問題是當父網站使用HTTPS,而博客只是HTTP。當訪問者試圖關注舊鏈接時,博客帖子通常會在https版本的url下顯示,但樣式表全部被破壞,並顯示「無證書」警告。
我需要一個htaccess規則,會做兩兩件事:
轉發任何人試圖訪問博客文章的HTTPS版本只(即www.example.com/blog內的任何東西)的HTTP版本。
將任何試圖訪問example.com/blog(不含www)的人轉發到http://www.example.com/blog而不是https版本,它目前所做的。
但是我喜歡這些規則只會影響www.example.com/blog,而不會影響example.com。我對在example.com ISAPI重寫當前的規則如下:
RewriteRule ^blog(.+)$ http://www.externalblog.com$1 [R=301,L]
這正常工作,並是基於網上的文章名爲「使用反向代理拉WordPress博客到您的域」 - 我不能由於沒有足夠的聲望而在此添加更多鏈接。
任何幫助將不勝感激!謝謝!
編輯:我嘗試以下
RewriteCond %{HTTPS} on
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/blog [NC]
RewriteRule ^blog(.+)$ http://www.externalblog.com$1 [R=301,L]
以此爲據可以作爲重寫HTTPS訪問http - 但反向代理URL屏蔽不再踢!
嗨 - 這似乎工作儘可能添加www和重寫規則,但它不強制https? – Paul
對不起,我以爲你一直在要求在www.example.com/blog上強制HTTP,強制HTTPS沒有任何關係。它應該在哪裏? – Yaroslav
對不起,我們最初想直接訪問http的博客,但現在我們有一個安全的博客證書。 地址將https://www.example.com/blog反向代理到https://externalblog.com 所以現在我們想強制https在博客上的所有鏈接,強制www以及應用反向代理。希望有道理:) – Paul