2010-08-10 41 views
0

带www我们有一个url例如https://www.egdomain.com/和ssl是有效的egdomain.com。 那么我怎么能重定向所有的请求从https://www.egdomain.com/https://egdomain.com/国防部改写与https的问题,从地带

该网站也有正常的http请求工作正常。

我想下面的htaccess,但仍然没有

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 

RewriteCond %{HTTP_PORT} =443 

RewriteRule (.*) https://%1/$1 [L,R=301] 

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 

RewriteRule (.*) http://%1/$1 [L,R=301] 

任何帮助将é赞赏

回答

0

manual说(重点煤矿):

RewriteCond反向引用:这些都是反向引用形式%N(1 < = N < = 9),其提供对该模式的分组部分(同样在括号内)的访问,fr om最近匹配的RewriteCond在当前的一组条件中。

所以:

RewriteCond %{HTTP_PORT} =443 
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] 
RewriteRule (.*) https://%1/$1 [L,R=301] 

注意,如果您的证书只适用于变异没有www.,游客仍然会访问www.变异时,得到一个安全警告。

1

可以这两个规则结合起来,以一个:

RewriteCond %{HTTPS}s ^on(s)| 
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(https?://)www\.(.+) [NC] 
RewriteRule^%1%2 [L,R=301] 

但也许这是一个有点太混乱。