我想修改php
- 文件以满足以下需求:
主域名
http
重定向到https
non-www
重定向到www
www
并且应该出现)子站点:
http
重定向到https
www
重定向到non-www
www
,不应该出现) 评论:子域的内容与主域完全不同(可以是 private.website.com 或 cloud.website.com 例如)。 不只是一种不同的语言。因此,通过浏览器或CMS创建内部转发似乎没有用。在最好的情况下,应该通过.hataccess
执行。
答案 0 :(得分:2)
如果您使用的是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]