Apache 如何使用htacces从www重定向到https www?

Apache 如何使用htacces从www重定向到https www?,apache,.htaccess,redirect,mod-rewrite,Apache,.htaccess,Redirect,Mod Rewrite,我需要做以下工作: 我目前的地址如下: 我想使用htaccess重定向: www.domain.com至和 到 我在这里尝试了一些建议,但最终还是没完没了的循环。 我试过: RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domain.com [NC] RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301] 这样做对吗?你应该有一个您的域名条件前面: ### Redir

我需要做以下工作: 我目前的地址如下:

我想使用htaccess重定向: www.domain.com至和 到

我在这里尝试了一些建议,但最终还是没完没了的循环。 我试过:

RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.domain.com [NC] RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
这样做对吗?

你应该有一个
您的域名条件前面:

### Redirect non-www => www ###
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]
因为你想说,做下一个规则,如果这个条件匹配。。。条件应该是主机不符合您的要求

如果我将其与我以前见过并使用过的技术相结合,您可以尝试以下方法:

### Redirect non-www => www ###
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ https://www.domain.com/$1 [L,R=301]

# redirect urls with index.html to folder
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index.html HTTP/
RewriteRule ^(([^/]+/)*)index.html$ https://%{HTTP_HOST}/$1 [R=301,L]

# change // to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)//(.*) HTTP/ [NC]
RewriteRule ^.*$ https://%{HTTP_HOST}/%1/%2 [R=301,L]

您可以在一个规则中实现这两种重定向,如下所示:

RewriteEngine On 

RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.yourdomain.com%{REQUEST_URI} [R=301,L,NE]
最好的办法是:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

使用
%{HTTP_HOST}
您不需要将域名写入WWW到WWW和HTTP到https解决方案:

## Redirecting HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

## Redirecting non WWW to WWW
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.tld$ [NC]
RewriteRule ^(.*)$ http://www.domain.tld/$1 [R=301,L]

我能知道你为什么在这么多个月后取消了录取吗?顺便说一句,另一个答案不适用于这种情况
http://www.domain.com => https://www.domain.com
并且有许多规则甚至没有被问到。我在这个问题中描述了一个要求。使用您的回答,我能够实现一些重定向,但不是全部重定向。你能提供你的意见吗
## Redirecting HTTP to HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

## Redirecting non WWW to WWW
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.tld$ [NC]
RewriteRule ^(.*)$ http://www.domain.tld/$1 [R=301,L]