在本地主机上工作时的相对 URL [关闭]

Posted

技术标签:

【中文标题】在本地主机上工作时的相对 URL [关闭]【英文标题】:Relative URLs when working on localhost [closed] 【发布时间】:2019-01-03 11:55:36 【问题描述】:

从现在开始,我就有了一个习惯——直接在实时域或子域上工作。现在我发现了在 localhost 上工作的魅力和速度。我在 Windows 机器上使用 Wamp 服务器。

我的项目存储在 C:/wamp64/www/[project_name]

我一直在使用相对 URL,无论是在源文件中还是直接在我的 WordPress 网站中。例如,使用此 URL 获取图像:“/wp-content/uploads/2018/image.png”适用于每个域,页面或文章也是如此。

但是在 localhost 上,这个 URL 指向 C:/wamp64/www/wp-content/...,所以我必须使用这个 URL:“/project_name/wp-content/...”。但是,它在迁移到活动域后不起作用。

我尝试运行 SQL REPLACE 查询,但仍有大量 URL 指向本地目录(主要是存储在主题设置中的那些)。

使用相对 URL 的最佳方法是什么,既适用于本地主机服务器,也适用于实时域?

【问题讨论】:

我更喜欢在整个项目中使用<base> 标签。您只需要在迁移到服务器时更新基础。 只需更改本地 WP VirtualHost (httpd-vhosts.conf) 的 docroot 以使本地和实时的相对目录结构相同,然后您可以继续使用以 / 一切都很好。 【参考方案1】:

尝试使用相对路径,但以这种方式:“../wp-content/uploads/2018/image.png”

不要以“/”开头的相对路径,因为这意味着您的网站将位于路径顶部:“http://Examlple.com”。由于 Wordpress 可以安装在子路径中,它在“http://Example.com/OtherSite/”中不起作用。

因此,请始终考虑相对于实际页面而不是首页。

【讨论】:

【参考方案2】:

听起来您在 WAMP 中的虚拟主机设置存在问题。

Guide to setup virtual host

设置好虚拟主机后,您可以将文档根目录设置为您想要的任何 URL。这将允许您为本地使用特定名称(即 kritianfilo.local),而不是每次都使用完整路径。这也将解决有关相对 URL 的问题,因为所有内容都将与您在虚拟主机设置中设置的文档根目录相关

【讨论】:

太棒了,就像一个魅力!我是新手,抱歉。 不用道歉,我们都是这样学习的!【参考方案3】:

一种方法是创建一个 config 或 sys 属性文件,其中包含所有与系统相关的变量,并在需要时由您的应用程序查询。

在您的 localhost 环境中,您可以插入 WAMP/Windows 绝对路径,在您的 dev/prod 环境中,您可以使用相对路径(或绝对路径)。

工作正常,但您必须记住为每次部署设置正确的值。

【讨论】:

以上是关于在本地主机上工作时的相对 URL [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在本地主机上使用 htaccess 制作 seo url? [关闭]

无法让本地主机上的 ajax 调用 require_once 工作

谷歌文档查看器不能在本地主机上工作吗?

如何在我的本地主机上创建子域? [关闭]

在 nginx 中使用别名作为相对 url 时的禁止位置

.htaccess 无法使用 XAMPP 在本地主机上工作