域和子域 .htaccess 重定向

Domain and subdomain .htaccess redirect

我需要在 .htaccess 中进行两个不同的重定向。

在一个网站上:example.com 被创建为别名 user.example.com(两个域的代码相同)。

我需要写两个重定向

user.example.com -> user.example.com/login

和第二个

example.com -> www.example.com(没有 www 的版本到有 www 的版本)包括子页面(不包括 user.example.com - 不是 www 版本)

所有使用 https 协议的重定向

只有一个重定向工作正常,但与第二个一起使用时失败。

RewriteEngine On

## RewriteRule ^user.example.com https://user.example.com/login [R,L]

RewriteCond %{HTTP_HOST} ^user\.example\.com/ [NC]
RewriteRule ^(.*) https://user.example.com/login [L,R]

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ https://www.example.com/ [R=301,QSA,L]
RewriteCond %{HTTP_HOST} ^user\.example\.com/ [NC]
RewriteRule ^(.*) https://user.example.com/login [L,R]

这将导致重定向循环,因为它将所有内容(包括/login本身)重定向到/login

如果您只想重定向文档根目录,那么您应该将 RewriteRule 模式 ^(.*) 更改为 ^$(一个 URL-路径).

另一个重定向是“OK”。

您应该在测试前清除浏览器缓存。