懒得写插件了。
如果你不想改核心代码,就在根目录下的config.inc.php,最后一行加如下代码。
如果你觉得config.inc.php经常都在.gitignore文件被忽略(其实是正确的),那么就找到var/Typecho/Request.php,大约223行,添加如下代码。
//兼容一些简单的CDN反向地址 START
if(strpos($_SERVER['HTTP_HOST'], ".cdn.") || strpos($_SERVER['HTTP_HOST'], ".site.")){
$str = strpos($_SERVER['HTTP_HOST'], ".cdn.") ? '.cdn.' :'.site.';
$hosts = explode($str, $_SERVER['HTTP_HOST']);
if(is_array($hosts) && count($hosts)){
$_SERVER['HTTP_HOST'] = $hosts[0];
}
}
//兼容一些简单的CDN反向地址
[/scode]
这个时候,如果直接访问后台地址,未登录的情况下(改var/Typecho/Request.php)会出现跳CDN反代域名的情况。这个时候需要做下Nginx的改写。
rewrite /admin$ https://yourdomain/admin/ last;