2017-07-24 134 views
2

我試圖將一個子域添加到現有網站。我們已經添加了適當的'A'記錄。我們希望staging.example.com顯示example.com/test/的內容(並保留staging.example.com)。由於www規則將子域重定向到無限重定向文件夾

.htaccess文件(別人寫的)重定向所有非HTTPS到HTTPS,所有非www到www:

RewriteEngine On 
RewriteBase/

#Rewrite http to https 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L] 

#Rewrite non-www to www 
RewriteCond %{HTTP_HOST} !^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://www\.%{HTTP_HOST}/$1 [R=301,L] 

我試着添加一行以下,之前剛剛過去的RewriteRule

RewriteCond %{HTTP_HOST} !^staging\.(.+)$ [NC] 

但是,總是得到重定向循環到www.staging.example.com ...

建議非常讚賞d。

+0

是否'升級。 example.com'已經顯示來自'example.com/test /'的內容?這只是規範的重定向,這是一個問題? – MrWhite

回答

1

這是因爲您正在將您的WWW重定向回到HTTP。將其更改爲https:

編輯

我還要反轉您statments ..這是我使用的正是 - 我可以確認我的作品:

RewriteEngine On 
# to www 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule^https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

# to https 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

嗨,感謝您的回覆,我嘗試了您的建議,並且仍然收到錯誤消息。它有可能被緩存?我一直在使用Chrome瀏覽器,我清除了我的緩存,並刷新了DNS ......? – emmzee

+0

我編輯了我的回覆 – Zak

相關問題