改进域名绑定到模块后的URL生成

This commit is contained in:
thinkphp
2016-08-03 16:24:00 +08:00
parent 5dad96ab66
commit 571a7005f2

View File

@@ -92,7 +92,7 @@ class Url
$url = $match; $url = $match;
} else { } else {
// 路由不存在 直接解析 // 路由不存在 直接解析
$url = self::parseUrl($url); $url = self::parseUrl($url, $domain);
} }
} }
@@ -137,7 +137,7 @@ class Url
} }
// 直接解析URL地址 // 直接解析URL地址
protected static function parseUrl($url) protected static function parseUrl($url, $domain)
{ {
$request = Request::instance(); $request = Request::instance();
if (0 === strpos($url, '/')) { if (0 === strpos($url, '/')) {
@@ -151,8 +151,17 @@ class Url
$url = substr($url, 1); $url = substr($url, 1);
} else { } else {
// 解析到 模块/控制器/操作 // 解析到 模块/控制器/操作
$module = $request->module(); $module = $request->module();
$module = $module ? $module . '/' : ''; $domains = Route::rules('domain');
if (isset($domains[$domain]['[bind]'][0])) {
$bindModule = $domains[$domain]['[bind]'][0];
if ($bindModule && !in_array($bindModule[0], ['\\', '@'])) {
$module = '';
}
} else {
$module = $module ? $module . '/' : '';
}
$controller = $request->controller(); $controller = $request->controller();
if ('' == $url) { if ('' == $url) {
// 空字符串输出当前的 模块/控制器/操作 // 空字符串输出当前的 模块/控制器/操作