我目前正在尝试在我的常量文件中设置以下项目:
define("ROOT", $_SERVER['DOCUMENT_ROOT']."/");
define("IMAGES", ROOT . "images/");
define("MAIN_CSS", ROOT . "css/");
define("MAIN_JS", ROOT . "js/");
define("PAGE_CSS", ROOT . "pages/css/");
define("PAGE_JS", ROOT . "pages/js/");
但是,当我使用其中之一时:
<link rel="stylesheet" href="<?php echo MAIN_JS; ?>includes/bootstrap/css/bootstrap.min.css" />
我收到此错误消息(domain.co.uk 是我目前不想显示的URL。还没上线。
资源解释为样式表,但使用 MIME 类型的 text/html 传输:"http://domain.co.uk/home/ud2kbfbz/www/app/js/includes/bootstrap/css/bootstrap.min.css"。
它实际上应该像下面这样显示:
http://domain.co.uk/home/ud2kbfbz/www/app/js/includes/bootstrap/css/bootstrap.min.css
我可以在这方面提供一些建议,并在正确的方向上提供一些帮助。
你能试试
吗define("ROOT", 'https://' . $_SERVER['HTTP_HOST']);
如果您要查看错误消息中看到的 URL,您很可能会找到 404 错误页面。 它是一个 HTML 资源。
Jon 的评论是正确的 - 在 URL 中使用DOCUMENT_ROOT没有意义。 找到一种将文件引用为 URL 的不同方式。
就个人而言,在我使用的框架中,它有一个位于 index.php 的 url 根目录的单个前端控制器。 它利用一个函数来确定 URL 基根是什么,这样即使它在子文件夹中运行它仍然可以工作。
function current_base_url_path( $returnSingleSlash = false )
{
list( $base_url_path ) = explode( '/index.php', $_SERVER['SCRIPT_NAME'] );
$out = trim( $base_url_path, '/' ) . '/';
if ( $out == '/' && $returnSingleSlash == false )
{
$out = '';
}
return $out;
}