Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess强制https,如果没有子域,则将非www重定向到www_Php_Apache_.htaccess_Redirect_Mod Rewrite - Fatal编程技术网

Php htaccess强制https,如果没有子域,则将非www重定向到www

Php htaccess强制https,如果没有子域,则将非www重定向到www,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我试图强制https并将非www重定向到www: domain.com==> www.domain.com==> 问题是我有很多sudomain,但我没有通配符ssl(目前),因此我希望: (x) .domain.com(www.domain.com除外)==>http://*.domain.com 可能吗 我找到并测试的所有Answer仅强制使用https或将所有非www重定向到www我的问题是我不希望子域获得https,除了www和将非www重定向到www。要仅强制用于www.exa

我试图强制https并将非www重定向到www:

  • domain.com==>
  • www.domain.com==>
问题是我有很多sudomain,但我没有通配符ssl(目前),因此我希望:

  • (x) .domain.com(www.domain.com除外)==>http://*.domain.com
可能吗

我找到并测试的所有Answer仅强制使用https或将所有非www重定向到www我的问题是我不希望子域获得https,除了www和将非www重定向到www。要仅强制用于www.example.com,您可以使用:

RewriteEngine on
#redirect http non-www to https://www
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
#redirect https non-www to www
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

感谢starkeen的可能副本我正在寻找的,你能给我解释一下这行=>RewriteCond%{HTTP_HOST}^(www\)?example\.com$这是规则的条件,它说主机值必须以www.or example.com开头模式
(www\)?
可以选择匹配“www.”。