【发布时间】:2018-09-03 12:11:12
【问题描述】:
网站目前已从生产服务器移至开发服务器。所以之前的设置是http://production.com/,现在开发设置是http://development.com/site/
我的问题是几乎所有资产都指向绝对路径,例如 js、css 和图像。
例子:
JS:<script src="/assets/path/to/js/script.js"></script>
CSS:<link rel="stylesheet" type="text/css" href="/assets/path/to/css/style.css" />
图片:<img src="/assets/path/to/images/image.jpg">
所有这些资产都不会加载,因为它们都指向http://development/assets/。应该是http://development/site/assets/
有没有办法使用 htaccess 来解决这个问题?我不想绕过站点并将所有路径更改为相对路径,因为这将是一项艰巨的工作。我只是想使用一些简单的东西,这样当移回不再位于子文件夹中的生产环境时,只需更改 htaccess 文件就可以更容易地迁移。
附: htaccess 应该在子文件夹 /site/ 中,因为我不想将它放在开发根目录中,因为它会影响开发根目录中的其他子文件夹。
谢谢。
【问题讨论】:
-
/assets/path/to/js/script.jsURL 是 relative,不是绝对的。 -
它有点落入绝对路径,因为它加载
http://development.com/assets/path/to/js/script.js而不是相对于当前 URL w/c 应该是http://development/site/assets/path/to/js/script.js@Alexander 如果你知道如何解决这个问题,请它会一个很大的帮助。谢谢 -
现在我明白了,您想将 site 分段“插入”到 URL,不是吗?
-
你最好有一个带有 base_url 变量的配置文件,你可以在每个页面上使用它来与你的相对 url 结合,这样下次你移动到另一个位置时,所有 url 都会自动运行而不会出现问题。当您移动到另一个位置时,您只需更新该变量。
-
你在你的网站中使用和
<base>标签吗?