PHP define()函数作为URL
我正在为我在学校的总结工作开发一个网站。我正在使用XAMPPV3.2.1。以本地宿主该站点 在PHP define()函数作为URL,php,url,xampp,localhost,Php,Url,Xampp,Localhost,我正在为我在学校的总结工作开发一个网站。我正在使用XAMPPV3.2.1。以本地宿主该站点 在htdocs文件夹中,我的站点文件夹的配置如下: ibnm css js img 站点 关于 米迪亚 includes.php index.php(主页) 我的问题从这里开始:在index.php上,我将includes.php包含在我的站点文件夹中,这是一个带有define()函数的简单文件,因此我可以将站点的HTML标记上的常量打印为URL(如下所示) //includes.php
htdocs
文件夹中,我的站点文件夹的配置如下:
- ibnm
- css
- js
- img
- 站点
- 关于
- 米迪亚
- includes.php
- index.php(主页)
index.php
上,我将includes.php
包含在我的站点文件夹中,这是一个带有define()函数的简单文件,因此我可以将站点的HTML标记上的常量打印为URL(如下所示)
//includes.php
//index.php
这是因为浏览器认为localhost是一个文件夹,然后在当前路径的顶部执行此操作,要解决的问题是在localhost之前添加http://
define("css", "http://localhost/ibnm/css");
不使用绝对路径,您只需在CSS路径之前添加一个斜杠-
<link href="/<?= css; ?>/bootstrap.css" rel="stylesheet">
任何url都不是以http开头的,然后浏览器将假定它的相对路径,因此它将附加到您当前的路径,这就是为什么您得到localhost/ibnm/site/localhost/ibnm/css。
代码中有一个小的修改,在代码中硬编码服务器名称不是一个好主意,最好是动态获取服务器名称。这样,在real server中部署站点时无需进行更改
//includes.php
<?php
define("css", $host='http://'.$_SERVER['SERVER_NAME'].'/ibnm/css');
?>
//includes.php
我会记住的。谢谢
//includes.php
<?php
define("css", $host='http://'.$_SERVER['SERVER_NAME'].'/ibnm/css');
?>