如何在localhost和Web服务器上实现绝对URL?

Bau*_*umr 5 php url webserver localhost hyperlink

我通常使用以下链接实践,相对URL与绝对URL路径:

<a href="/relative/path/to/document.html">
Run Code Online (Sandbox Code Playgroud)

但我将实现绝对URL:

<a href="http://example.com/relative/path/to/document.html">
Run Code Online (Sandbox Code Playgroud)

对我来说,改变它们并不是问题(HTML文档中的自动查找和替换).

但是,确保它可以在我的localhost(支持PHP)以及Web上运行的最佳实践是什么?为什么?


例如,这里是我如何做PHP包括:

<?php include($_SERVER['DOCUMENT_ROOT']."/relative/path/to/document.html"); ?>
Run Code Online (Sandbox Code Playgroud)

hrefURL 采用相同的方法?不同的PHP技术更好吗?很想知道为什么.

rin*_*t.6 6

在本地和Web主机上保留相同的目录结构,并尽可能使用相对URI和路径.如果必须使用绝对URI,请在某处定义它,并在需要输出URI时使用常量,以避免必须使用查找和替换进行更改.

<?php
    define('ROOT_URI', 'http://example.com/subdirectory');
?>

<a href='<?php echo ROOT_URI; ?>/relative/path/to/document.html'> document </a>
Run Code Online (Sandbox Code Playgroud)

如果您有一个配置文件或其他包含文件,您只需定义一次就会更容易.


ham*_*mus 6

您可以在HTML hrefs中包含预定义的常量或变量.

例如

<?php
define("LOCAL", "http://localhost");
define("WEB", "http://foo.bar");
$environment = LOCAL; //change to WEB if you're live
?>
<a href="<?php echo $environment; ?>/relative/path/to/document.html">
Run Code Online (Sandbox Code Playgroud)