通过判断 $_SERVER['SERVER_NAME'] 实现 SAE 三级域名分发

最近一直在折腾这件事,不断的去写各种各样的URL Rewrite ,都不能实现,百思不得其解

你会发现,本身SAE的二级域名已经是泛域名解析了,即访问 .52its.sinaapp.com 都可访问到 52its.sinaapp.com ( 通用匹配符)

理论上SAE的二级域名完全可以实现如下效果(三级域名分发,不同的三级域名跳转到不同的子目录下面)

这个网站的目录结构如下图所示

实现的方法,我想大部分人会纠结在 怎么样写URL Rewrite 来实现三级分发跳转

但是,往往事情得往简单的方面想,既然SAE的二级域名已经是泛域名解析了

那为何我们不直接写一个入口文件,对 $_SERVER[‘SERVER_NAME’] 进行判断,然后再include对应的子目录呢(非常感谢@良宏工作室 提供思路)

从代码本身来实现想要的功能,还更简单呢。

具体入口文件代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
header("Content-type: text/html; charset=utf-8");
$root_url = "belinlove";
$path = substr($_SERVER['SERVER_NAME'], 0, strpos($_SERVER['SERVER_NAME'], '.'));

//分发二级(三级域名)列表(Key-Value)   
$url_list = array(
    '博客' => 'http://blog.belinlove.sinaapp.com',
    '论坛' => 'http://bbs.belinlove.sinaapp.com',
    'love' => 'http://love.belinlove.sinaapp.com',
    'life' => 'http://life.belinlove.sinaapp.com',
    );


if ($root_url !== $path) {

    if(file_exists($path.'/index.php') ) {
                                include($path.'/index.php');
    } else {
        foreach($url_list as $key=>$val)
        {
                echo('<a href="'.$val.'">'.$key.'</a></a><br /><br />');
        }
    }


} else {
    foreach ($url_list as $key => $val)
    {
       echo ('<a href="' . $val . '">' . $key . '</a><br /><br />');
    }
}

?>  

Comments