2017-07-24 110 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

相关问题