gpt4 book ai didi

java - 如何使 Moqui 屏幕上的链接 url 是相对的而不是绝对的?

转载 作者:行者123 更新时间:2023-11-30 11:23:05 25 4
gpt4 key购买 nike

JavaScript 和 CSS 文件的链接似乎有一个绝对 URL,如:

    <script type="text/javascript" src="http://test.dp.com:8080/js/jquery-1.9.1.min.js"  language="javascript">
<script type="text/javascript" src="http://test.dp.com:8080/js/bootstrap.min.js" language="javascript">
<script type="text/javascript" src="http://test.dp.com:8080/js/holder.js" language="javascript">
<link type="text/css" href="css/bootstrap.css" rel="stylesheet">

但我希望他们是:

    <script type="text/javascript" src="js/jquery-1.9.1.min.js" language="javascript">
<script type="text/javascript" src="js/bootstrap.min.js" language="javascript">
<script type="text/javascript" src="holder.js" language="javascript">
<link type="text/css" href="css/bootstrap.css" rel="stylesheet">

它也类似于屏幕上的链接。

我希望它们是相对的,然后可以在应用程序前面添加一个反向代理。

最佳答案

这些来自 webroot 组件中的 Header.html.ftl 文件并使用如下值:

${sri.buildUrl(scriptLocation).url}

有许多像这样生成的 URL 以及完整的 URL,包括主机名等。当不在本地运行时,您几乎总是需要在 Moqui Conf XML 文件中设置外部主机名和端口。例如:

<webapp-list>
<webapp name="webroot" http-host="www.mydomain.com" http-port="80" https-enabled="false">
<root-screen host=".*" location="component://webroot/screen/webroot.xml"/>
</webapp>
</webapp-list>

请注意,这仍然具有 https-enabled="false"。如果将其设置为 true,则还要设置 @https-host 和 @https-post 属性。

请注意,如果您将 http-host、http-port、https-host 或 https-port 中的任何一个留空,它们将默认为 HTTP 请求中的主机名和端口。这是为 Multi-Tenancy 或多根屏幕设置的虚拟主机处理它的方法。为此,必须设置任何负载平衡器或其他代理(例如 httpd 上的 mod-proxy)以传递此 HTTP 请求信息。

关于java - 如何使 Moqui 屏幕上的链接 url 是相对的而不是绝对的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21402414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com