Merge pull request #51 from shenfakuan/master

修改在使用域名路由时,url方法结果不正确的bug(优化parseDomain)
This commit is contained in:
ThinkPHP
2016-05-08 08:44:52 +08:00

View File

@@ -150,22 +150,26 @@ class Url
if (Config::get('url_domain_deploy')) { if (Config::get('url_domain_deploy')) {
// 根域名 // 根域名
$urlDomainRoot = Config::get('url_domain_root'); $urlDomainRoot = Config::get('url_domain_root');
foreach (Route::domain() as $key => $rule) { $route_domain = array_keys(Route::domain());
$rule = is_array($rule) ? $rule[0] : $rule; foreach($route_domain as $domain_prefix) {
if (false === strpos($key, '*') && 0 === strpos($url, $rule)) { if(strpos($domain, trim($domain_prefix, '*.')) !== false) {
$url = ltrim($url, $rule); foreach (Route::domain() as $key => $rule) {
$domain = $key; $rule = is_array($rule) ? $rule[0] : $rule;
// 生成对应子域名 if (false === strpos($key, '*') && 0 === strpos($url, $rule)) {
if(!empty($urlDomainRoot)){ $url = ltrim($url, $rule);
$domain .= $urlDomainRoot; $domain = $key;
// 生成对应子域名
if(!empty($urlDomainRoot)){
$domain .= $urlDomainRoot;
}
break;
}else if(false !== strpos($key, '*')){
if(!empty($urlDomainRoot)){
$domain .= $urlDomainRoot;
}
break;
}
} }
break;
}else if(false !== strpos($key, '*')){
$domain = str_replace('*',strstr($domain,'.',true),$key);
if(!empty($urlDomainRoot)){
$domain .= $urlDomainRoot;
}
break;
} }
} }
} }