改进路由地址生成

This commit is contained in:
thinkphp
2016-10-15 00:02:02 +08:00
parent 381a56f334
commit fbd76aaf51

View File

@@ -40,22 +40,24 @@ class Url
$name = substr($url, 1, $pos - 1); $name = substr($url, 1, $pos - 1);
$url = 'name' . substr($url, $pos + 1); $url = 'name' . substr($url, $pos + 1);
} }
$info = parse_url($url); if (false === strpos($url, '://') && 0 !== strpos($url, '/')) {
$url = !empty($info['path']) ? $info['path'] : ''; $info = parse_url($url);
if (isset($info['fragment'])) { $url = !empty($info['path']) ? $info['path'] : '';
// 解析锚点 if (isset($info['fragment'])) {
$anchor = $info['fragment']; // 解析锚点
if (false !== strpos($anchor, '?')) { $anchor = $info['fragment'];
// 解析参数 if (false !== strpos($anchor, '?')) {
list($anchor, $info['query']) = explode('?', $anchor, 2); // 解析参数
} list($anchor, $info['query']) = explode('?', $anchor, 2);
if (false !== strpos($anchor, '@')) { }
if (false !== strpos($anchor, '@')) {
// 解析域名
list($anchor, $domain) = explode('@', $anchor, 2);
}
} elseif (strpos($url, '@') && false === strpos($url, '\\')) {
// 解析域名 // 解析域名
list($anchor, $domain) = explode('@', $anchor, 2); list($url, $domain) = explode('@', $url, 2);
} }
} elseif (strpos($url, '@') && false === strpos($url, '\\')) {
// 解析域名
list($url, $domain) = explode('@', $url, 2);
} }
// 解析参数 // 解析参数