【发布时间】:2017-08-25 10:45:31
【问题描述】:
当我在本地服务器上开发自己的网站时,我将其文件放在子文件夹中。例如,本地 url 看起来像这样:
http://127.0.0.1/projects/myownwebsite/
在我将其文件上传到网络托管公司的服务器后,它们将位于根文件夹中。所以远程 url 看起来像这样:
http://www.myownwebsite.com/
问题是,我想在所有页面和文件的引用中使用绝对路径。例如:
<link rel="stylesheet" href="/css/style.css">
<script src="/js/main.js"></script>
<a href="/about-us/">About Us</a>
<img src="/images/logo.png" alt="My Website">
这些绝对路径在远程服务器上完美运行。但不是在我的本地服务器上,因为在我的本地服务器上,/about-us/ 之类的引用链接到 http://127.0.0.1/about-us/,它找不到任何页面。
我想让绝对路径也可以在我的本地服务器上运行,这样我就可以更轻松地开发自己的网站。但是我不能简单地将所有文件放在本地服务器的根文件夹中,因为还有其他项目的文件和文件夹。
是否可以让本地服务器将一个子文件夹(这里是我自己网站的文件夹)作为根文件夹?
附:我用于本地服务器的软件是EasyPHP。
【问题讨论】:
-
您是否有理由只想使用绝对路径?顺便说一句,在 php 中使用根路径常量(如在框架中所做的那样)构造您的 url 始终是一个好习惯。这样,您只需在配置中更改此常量..
-
@Kaddath 因为绝对路径似乎使事情变得更容易并导致更少的问题。而PHP解析时间也是一个原因。如果我需要构建数百条路径,那会延迟响应时间并使我的 PHP 代码变得混乱。
-
这样做并不是为了反驳,但我总是喜欢自己检查。为 1000 个 url 生成做了一个基准测试。变量赋值的最大差异时间为 2 毫秒,有利于没有常量(绝对值)的路径。相当无意义。但更多的是,当我使用
echo执行此操作时,最大差异为 40 毫秒,有利于相对路径(相对路径更短,在我的情况下只有 2 个字符的长度差异)。相对路径更快,因为显示时间更短。顺便说一句,相对路径从来没有“问题” -
@Kaddath 感谢您提供统计数据。我会考虑到这一点。
标签: php absolute-path