我们有一个在WordPress内部运行的web应用程序,以便利用WordPress的身份验证。为了实现这一点,我们为应用程序创建了一个模板类型,它只包含应用程序的起始页。
虽然有一点小技巧,但这很有效,除了一个方面——所有相关URL现在都使用WordPress的页面作为其基础,而不是资源的实际路径。例如,如果我的应用程序页面位于http://mysite.com/myapp
, 与样式表的相对链接将导致http://mysite.com/myapp/css/stylesheet.css
, 正如所料。
不幸的是,这不是样式表的实际位置。样式表的实际位置如下所示:http://mysite.com/directory1/directory2/directory3/css/stylesheet.css
.
如果基本URL不能准确反映资源的位置,我应该如何在web应用程序中链接到该资源?
注意:我不能在本地开发时使用绝对链接,因为它显然没有与WordPress站点相同的目录结构。
最合适的回答,由SO网友:s_ha_dum 整理而成
../directory1/directory2/directory3/css/stylesheet.css
如果我能准确地读到你的描述,你应该会明白的。
然而,我会非常谨慎地使用WordPress中的相对链接。它们并不总是按照您期望的方式工作,因为许多“目录”实际上并不存在。它们是由WordPress和mod_rewrite
. 这两人合谋在文件系统结构上撒谎。例如,没有http://blog.com/category/cat-a
. 该页面上的相对链接将被破坏。
你最好使用bloginfo
或site_url
以及构建绝对URL。site_url
功能是否首选。
$url = siteurl(\'/directory1/directory2/directory3/css/stylesheet.css\');