我认为我的问题可以通过正确的mailer
配置或PHP重定向(Laravel框架)来解决。
我的网站大约有20个国家/地区。如果我想去美国,链接是:www.mysite.com/?d = US
所以我创建了20个子域名,如:“us.mysite.com”,“uk.mysite.com”,“germany.mysite.com”,“france.mysite.com”..
所有子域都指向.htaccess
并且工作正常。
我已将/
配置为将“http”重定向为“https”,并且工作正常。
.htaccess
我尝试这个并且应该工作......但是不是......即使我只为一个国家工作。
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]
我认为这与第一个redireccion(SSL)有一些冲突.. https。我去“us.mysite.com”并且没有发生..我只得到“https://us.mysite.com”没有“/?d = US”..
我该如何解决?谢谢!
答案 0 :(得分:0)
没有 <Style x:Key="MyThumb" TargetType="Thumb">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Grid.ZIndex" Value="1"/>
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="1.1" ScaleY="1.1"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
,只有HTTPS_HOST
。您还必须防止无限循环。我将您的HTTPS重定向设置在最后并进行设置,以便在HTTP上访问时,国家/地区网址不会获得双重重定向。这是:
HTTP_HOST
但是,您是否只需检查代码中的RewriteEngine on
RewriteCond %{HTTP_HOST} ^us.mysite.com$
RewriteCond %{HTTPS} off [OR]
RewriteCond %{QUERY_STRING} !(?:^|&)d=US(?:&|$)
RewriteRule ^ https://us.mysite.com/?d=US [R=301,L]
RewriteCond %{HTTP_HOST} ^germany.mysite.com$
RewriteCond %{HTTPS} off [OR]
RewriteCond %{QUERY_STRING} !(?:^|&)d=DE(?:&|$)
RewriteRule ^ https://germany.mysite.com/?d=DE [R=301,L]
RewriteCond %{HTTP_HOST} ^france.mysite.com$
RewriteCond %{HTTPS} off [OR]
RewriteCond %{QUERY_STRING} !(?:^|&)d=FR(?:&|$)
RewriteRule ^ https://france.mysite.com/?d=FR [R=301,L]
RewriteCond %{HTTP_HOST} ^uk.mysite.com$
RewriteCond %{HTTPS} off [OR]
RewriteCond %{QUERY_STRING} !(?:^|&)d=UK(?:&|$)
RewriteRule ^ https://uk.mysite.com/?d=UK [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{QUERY_STRING} !(?:^|&)d=
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
而不需要HTTP_HOST
param?
另一件事是这会丢弃所请求的任何请求URI。你不想像在HTTPS重定向中一样保留它们吗?