mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-07 15:12:48 +08:00
改进子域名路由
This commit is contained in:
@@ -34,32 +34,34 @@ class Route
|
|||||||
// 添加URL映射规则
|
// 添加URL映射规则
|
||||||
public static function map($map, $route = '')
|
public static function map($map, $route = '')
|
||||||
{
|
{
|
||||||
self::setting('map', $map, $route);
|
return self::setting('map', $map, $route);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加变量规则
|
// 添加变量规则
|
||||||
public static function pattern($name, $rule = '')
|
public static function pattern($name, $rule = '')
|
||||||
{
|
{
|
||||||
self::setting('pattern', $name, $rule);
|
return self::setting('pattern', $name, $rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加路由别名
|
// 添加路由别名
|
||||||
public static function alias($name, $rule = '')
|
public static function alias($name, $rule = '')
|
||||||
{
|
{
|
||||||
self::setting('alias', $name, $rule);
|
return self::setting('alias', $name, $rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加子域名部署规则
|
// 添加子域名部署规则
|
||||||
public static function domain($domain, $rule = '')
|
public static function domain($domain, $rule = '')
|
||||||
{
|
{
|
||||||
self::setting('domain', $domain, $rule);
|
return self::setting('domain', $domain, $rule);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 属性设置
|
// 属性设置
|
||||||
private static function setting($var, $name, $value = '')
|
private static function setting($var, $name = '', $value = '')
|
||||||
{
|
{
|
||||||
if (is_array($name)) {
|
if (is_array($name)) {
|
||||||
self::${$var} = array_merge(self::${$var}, $name);
|
self::${$var} = array_merge(self::${$var}, $name);
|
||||||
|
} elseif (empty($name)) {
|
||||||
|
return self::${$var};
|
||||||
} else {
|
} else {
|
||||||
self::${$var}[$name] = $value;
|
self::${$var}[$name] = $value;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,8 +137,8 @@ class Url
|
|||||||
if (Config::get('url_domain_deploy')) {
|
if (Config::get('url_domain_deploy')) {
|
||||||
// 开启子域名部署
|
// 开启子域名部署
|
||||||
$domain = 'localhost' == $domain ? 'localhost' : 'www' . strstr($_SERVER['HTTP_HOST'], '.');
|
$domain = 'localhost' == $domain ? 'localhost' : 'www' . strstr($_SERVER['HTTP_HOST'], '.');
|
||||||
// '子域名'=>array('项目[/分组]');
|
// '子域名'=>['模块[/控制器/操作]'];
|
||||||
foreach (Config::get('url_domain_rules') as $key => $rule) {
|
foreach (Route::domain() as $key => $rule) {
|
||||||
$rule = is_array($rule) ? $rule[0] : $rule;
|
$rule = is_array($rule) ? $rule[0] : $rule;
|
||||||
if (false === strpos($key, '*') && 0 === strpos($url, $rule)) {
|
if (false === strpos($key, '*') && 0 === strpos($url, $rule)) {
|
||||||
$domain = $key . strstr($domain, '.'); // 生成对应子域名
|
$domain = $key . strstr($domain, '.'); // 生成对应子域名
|
||||||
|
|||||||
Reference in New Issue
Block a user