htaccess www子域重定向

时间:2015-10-22 14:22:17

标签: apache .htaccess mod-rewrite redirect subdomain

我的问题

我有一个指向不同服务器的子域。服务器具有SSL,因此当用户键入子域时:https://my.maindomain.co它运行良好。使用htaccess我尝试重定向键入以下网址的所有用户:https://www.my.maindomain.co或等效于正确版本的http://https://my.maindomain.co)。

我认为下面会很好用但不会:

# rule for removing www on sub domains
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.maindomain\.co)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

有人帮我解决这个问题吗?

作为参考,我将此代码放在maindomain.co服务器上的htaccess中,该服务器托管在与my.maindomain.co不同的服务器上

3 个答案:

答案 0 :(得分:0)

您可以将此规则用于托管子域的服务器上的子域。它应该照顾您的要求。

RewriteEngine On
RewriteCond %{HTTPS} !^on [OR]
RewriteCond %{HTTP_HOST} !^my\.example\.co$ [NC]
RewriteRule ^ https://my.example.co%{REQUEST_URI} [R=301,L]

请注意,www.my.example.co必须有有效的ssl证书,才能输入www.my.example.co。否则,它仍会将http://my.example.co重定向到https://my.example.co

答案 1 :(得分:0)

首先,你的意思是'它不起作用'?如果您可以指定在尝试加载https://www.my.subdomain.co

时获得的确切错误,那将会很有帮助

除此之外我还可以考虑另外一个因素,如果您使用 apache 服务器,您可能需要添加' www.my.tutella.co '来虚拟主机配置 my.tutella.co

下的 ServerAlias

答案 2 :(得分:0)

You don't actually need mod_rewrite to do this.

在子域的.htaccess中(或者,如果您可以访问主Apache配置,那么它比.htaccess文件更有效),您可以使用此指令:

Redirect / https://my.example.co/

...这使用mod_alias,比mod_rewrite等效内容更容易理解和排查。