PHP:将主域重定向到https:// www,子域重定向到https://(不带www)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP:将主域重定向到https:// www,子域重定向到https://(不带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,uk.example.com等子域,那么您需要重定向浏览器语言的帮助或者您也可以在访问者位置的帮助下完成
就像
<?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/$1 [R=301,L]
3)www到非www
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
以上是关于PHP:将主域重定向到https:// www,子域重定向到https://(不带www)的主要内容,如果未能解决你的问题,请参考以下文章