繁体   English   中英

将每个域非 www 或 http 重定向到 www 和 https

[英]Redirect each domain non-www or http to www and https

我想将所有域重定向到 www 和 https。
喜欢:

http://example1.com  
http://example1.com.  
http://www.example1.com  
http://www.example1.com.  
https://example1.com  
https://example1.com.  
https://www.example1.com.  

到:
https://www.example1.com

http://example2.com  
http://example2.com.  
http://www.example2.com  
http://www.example2.com.  
https://example2.com  
https://example2.com.  
https://www.example2.com.  

到:
https://www.example2.com

这是我在 htaccess 中 domain1 的代码:

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} example1\.com [NC]
    RewriteCond %{HTTP_HOST} !^(www\.)?example1\.com$ [NC]
    RewriteRule ^(.*)$ https://www.example1.com/$1 [R=301,L]

    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} example1\.com [NC]
    RewriteCond %{HTTP_HOST} !^example1\.com$ [NC]
    RewriteRule ^(.*)$ https://www.example1.com/$1 [R=301,L]

我检查:
1. 如果地址没有 https 并且如果包含 example1.com 并且如果不完全像 www.example1.com 或 example1.com 那么重定向到https://www.example.com
2. 如果地址有 https AND 如果包含 example1.com AND 如果不完全像 example1.com 那么重定向到https://www.example.com

首先使用 Regex 替换开始,如下所示:

(我使用 C#,只使用正则表达式和想法)。

Regex.Replace(myString, @"^(https?:\/\/(www\.)?)?");

然后替换结尾:

Regex.Replace(myString, @"\.$");

例如:

示例在这里

http://example2.com. 

将被第一个 Regex 替换为:

https://www.example2.com. 

在第二个正则表达式之后,到:

http://www.example2.com
<IfModule mod_rewrire.c>
RewriteEngine On
RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.example1.com%{REQUEST_URI} [L,R]
</IfModule>

上面的代码片段应该对你有用。 尝试一下。 如果您有任何问题,请在评论中告诉我

您可以使用:

# domain example1.com
RewriteCond %{HTTP_HOST} example1\.com [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example1.com%{REQUEST_URI} [L,R=301]

# domain example2.com
RewriteCond %{HTTP_HOST} example2\.com [NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.example2.com%{REQUEST_URI} [L,R=301]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM