在共享IP上时的内部链接

时间:2010-11-09 作者:webcodeslinger

我在一个临时位置有一个WordPress站点,站点URL是一个IP地址,后跟斜杠、波浪线和短站点名称。我在页面中也有一些内部链接,这些链接假定从根目录进行链接-<a href="/services"> - 例如现在,由于共享IP,这些链接在测试环境中不起作用。

有人知道我能做些什么来让我的内部链接正常工作吗,不管网站位于哪里?

UPDATE: 我正在尝试更新页面内容中的链接(以及上传图像的SRC),而不是模板文件中的链接。

ANOTHER UPDATE: 我想我只需要通过手动方式加入绝对URL。

3 个回复
SO网友:prettyboymp

您可以将链接包装在echo home\\u url($路径)中,以便相对于站点打印它们。因此,您的链接将被编码为:

<a href="<?php echo home_url(\'/services\')?>">

SO网友:goldenapples

在您的函数中添加一个这样引用站点url的快捷码。php,或使用如下插件:http://wordpress.org/extend/plugins/peters-blog-url-shortcodes/

那么你的链接可以这样写:<a href="[blogurl]/services"> 而且,当您将站点移动到其他服务器时,它们仍然可以工作。

SO网友:hakre

你所要求的与用户移动网站时的体验非常相似——他们需要更新所有内容中的链接才能进行更改。这通常是通过对数据库执行SQL查询来完成的,以便一次更改所有帖子(Reference).

请记住,这会不断改变所有链接。这可能不是你想要的。

对于临时更改,我建议缓冲wordpress的输出,然后使用preg_replace_all()preg_replace_callback() 和一些正则表达式,或者使用fluentDOM 通过将其与输出缓冲区一起使用,可以轻松地更改所有链接。

如果这只是为了测试,我会使用第二种临时方法。这实际上可以防止原始内容发生更改,因此这仅限于查看博客的前端。

结束

相关推荐