diff --git a/library/think/Template.php b/library/think/Template.php index e73bbcf8..667eac74 100644 --- a/library/think/Template.php +++ b/library/think/Template.php @@ -1067,6 +1067,8 @@ class Template } if (0 !== strpos($template, '/')) { $template = str_replace(['/', ':'], $this->config['view_depr'], $template); + } else { + $template = str_replace(['/', ':'], $this->config['view_depr'], substr($template, 1)); } if ($this->config['view_base']) { $module = isset($module) ? $module : Request::instance()->module(); diff --git a/library/think/view/driver/Php.php b/library/think/view/driver/Php.php index 863a7c17..b7028c2d 100644 --- a/library/think/view/driver/Php.php +++ b/library/think/view/driver/Php.php @@ -127,17 +127,18 @@ class Php $depr = $this->config['view_depr']; if (0 !== strpos($template, '/')) { - $template = str_replace(['/', ':'], $depr, $template); - } - - $controller = Loader::parseName($request->controller()); - if ($controller) { - if ('' == $template) { - // 如果模板文件名为空 按照默认规则定位 - $template = str_replace('.', DS, $controller) . $depr . $request->action(); - } elseif (false === strpos($template, $depr)) { - $template = str_replace('.', DS, $controller) . $depr . $template; + $template = str_replace(['/', ':'], $depr, $template); + $controller = Loader::parseName($request->controller()); + if ($controller) { + if ('' == $template) { + // 如果模板文件名为空 按照默认规则定位 + $template = str_replace('.', DS, $controller) . $depr . $request->action(); + } elseif (false === strpos($template, $depr)) { + $template = str_replace('.', DS, $controller) . $depr . $template; + } } + } else { + $template = str_replace(['/', ':'], $depr, substr($template, 1)); } return $path . ltrim($template, '/') . '.' . ltrim($this->config['view_suffix'], '.'); } diff --git a/library/think/view/driver/Think.php b/library/think/view/driver/Think.php index 8e673fde..e5336b41 100644 --- a/library/think/view/driver/Think.php +++ b/library/think/view/driver/Think.php @@ -120,18 +120,20 @@ class Think $path = isset($module) ? APP_PATH . $module . DS . 'view' . DS : $this->config['view_path']; } - $controller = Loader::parseName($request->controller()); - $depr = $this->config['view_depr']; + $depr = $this->config['view_depr']; if (0 !== strpos($template, '/')) { - $template = str_replace(['/', ':'], $depr, $template); - } - if ($controller) { - if ('' == $template) { - // 如果模板文件名为空 按照默认规则定位 - $template = str_replace('.', DS, $controller) . $depr . $request->action(); - } elseif (false === strpos($template, $depr)) { - $template = str_replace('.', DS, $controller) . $depr . $template; + $template = str_replace(['/', ':'], $depr, $template); + $controller = Loader::parseName($request->controller()); + if ($controller) { + if ('' == $template) { + // 如果模板文件名为空 按照默认规则定位 + $template = str_replace('.', DS, $controller) . $depr . $request->action(); + } elseif (false === strpos($template, $depr)) { + $template = str_replace('.', DS, $controller) . $depr . $template; + } } + } else { + $template = str_replace(['/', ':'], $depr, substr($template, 1)); } return $path . ltrim($template, '/') . '.' . ltrim($this->config['view_suffix'], '.'); }