Apache modrewrite并重定向到带有www的https

Apache modrewrite并重定向到带有www的https,apache,mod-rewrite,Apache,Mod Rewrite,我正在尝试使用mod_重写并将al ltrafic重定向到https版本。www。 我尝试了很多组合,但我找不到最终的解决方案。 目前我有: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTP_HOST} ^(www\.)?ppp.cz RewriteRule (.*) https://%{HTTP_HOST}

我正在尝试使用mod_重写并将al ltrafic重定向到https版本。www。 我尝试了很多组合,但我找不到最终的解决方案。 目前我有:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTP_HOST} ^(www\.)?ppp.cz
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
  RewriteRule ^$ public/ [L]
  RewriteRule (.*) public/$1 [L]
</IfModule>

重新启动发动机
重写cond%{HTTP:X-Forwarded-Proto}!https
重写cond%{HTTP_HOST}^(www\)?ppp.cz
重写规则(.*)https://%{HTTP_HOST}%{REQUEST_URI}[L]
重写规则^$public/[L]
重写规则(.*)public/$1[L]
如果用户使用www.Si输入url,则此功能有效。我已尝试将代码改进为(其中是url不使用www时的条件):


重新启动发动机
重写cond%{HTTP:X-Forwarded-Proto}!https
重写cond%{HTTP_HOST}^(www\)?ppp.cz
重写规则(.*)https://%{HTTP_HOST}%{REQUEST_URI}[L]
重写cond%{HTTP:X-Forwarded-Proto}!https
重写cond%{HTTP_HOST}^ppp\.cz
重写规则(.*)https://www.%{HTTP_HOST}%{REQUEST_URI}[L]
重写规则^$public/[L]
重写规则(.*)public/$1[L]
但它仍然没有做我需要它做的事情。 我现在没有希望了。 (在所有情况下,公共/非公共条件均有效。) 有人能帮忙吗?多谢各位


我想要达到的是->;->

我已经这样解决了

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTP_HOST} ^ppp\.cz
  RewriteRule ^(.*)$  https://www.ppp.cz/$1 [R=301,L]
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTP_HOST} ^www.ppp.cz
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
  RewriteRule ^$ public/ [L]
  RewriteRule (.*) public/$1 [L]
</IfModule>

重新启动发动机
重写cond%{HTTP:X-Forwarded-Proto}!https
重写cond%{HTTP_HOST}^ppp\.cz
重写规则^(.*)$https://www.ppp.cz/$1[R=301,L]
重写cond%{HTTP:X-Forwarded-Proto}!https
重写cond%{HTTP_HOST}^www.ppp.cz
重写规则(.*)https://%{HTTP_HOST}%{REQUEST_URI}[L]
重写规则^$public/[L]
重写规则(.*)public/$1[L]
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTP_HOST} ^ppp\.cz
  RewriteRule ^(.*)$  https://www.ppp.cz/$1 [R=301,L]
  RewriteCond %{HTTP:X-Forwarded-Proto} !https
  RewriteCond %{HTTP_HOST} ^www.ppp.cz
  RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
  RewriteRule ^$ public/ [L]
  RewriteRule (.*) public/$1 [L]
</IfModule>