PHP:将主域重定向到 https://www,将子域重定向到 https://(不带 www)
PHP: Redirect main domain to https://www, subdomain to https:// (without www)
我想修改一个 php
文件以满足以下需求:
主域名:
- 将
http
重定向到 https
- 将
non-www
重定向到 www
- (对于主域,需要
www
并且应该出现)
子域:
- 将
http
重定向到 https
- 将
www
重定向到 non-www
- (对于子域,
www
是不需要的,不应出现)
评论: 子域的内容与主域完全不同(可能是 private.website.com 或 cloud.website.com 例如)。它不是只是一种不同的语言。因此,通过浏览器或 CMS 创建内部转发似乎没有用。在最好的情况下,它应该通过 .hataccess
执行。
如果你使用 php 那么你需要写一些条件 如果你要使用像 de.example.com , [=27 这样的子域,你没有给出任何子域的例子=] 那么你需要在浏览器语言的帮助下进行重定向或者你也可以在访问者位置的帮助下进行重定向
就像
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lang=="de")
{
header('Location: https://de.example.com/');
}
?>
在这种情况下,您需要执行以下操作。
1) http 到 https
RewriteCond %{HTTPS} !=on
2) 非 www 到 www
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) https://www.example.com/ [R=301,L]
3) www 到非 www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/ [R=301,L]
我想修改一个 php
文件以满足以下需求:
主域名:
- 将
http
重定向到https
- 将
non-www
重定向到www
- (对于主域,需要
www
并且应该出现)
子域:
- 将
http
重定向到https
- 将
www
重定向到non-www
- (对于子域,
www
是不需要的,不应出现)
评论: 子域的内容与主域完全不同(可能是 private.website.com 或 cloud.website.com 例如)。它不是只是一种不同的语言。因此,通过浏览器或 CMS 创建内部转发似乎没有用。在最好的情况下,它应该通过 .hataccess
执行。
如果你使用 php 那么你需要写一些条件 如果你要使用像 de.example.com , [=27 这样的子域,你没有给出任何子域的例子=] 那么你需要在浏览器语言的帮助下进行重定向或者你也可以在访问者位置的帮助下进行重定向
就像
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if($lang=="de")
{
header('Location: https://de.example.com/');
}
?>
在这种情况下,您需要执行以下操作。
1) http 到 https
RewriteCond %{HTTPS} !=on
2) 非 www 到 www
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) https://www.example.com/ [R=301,L]
3) www 到非 www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/ [R=301,L]