域和子域 .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”。
您应该在测试前清除浏览器缓存。
我需要在 .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”。
您应该在测试前清除浏览器缓存。