gpt4 book ai didi

Grails 重定向以包含尾随正斜杠

转载 作者:行者123 更新时间:2023-12-04 15:34:20 24 4
gpt4 key购买 nike

我正在使用 Grails 2.3.6,并尝试重定向 URL 以包含尾部正斜杠,但将 URL 的其余部分保留原样。原因是因为我有动态内容,其中包含图像和附件。我希望这些图像和附件显示为动态内容的子页面,例如:

http://example.com/content

将指向动态生成的一段内容,没有问题。但是,如果我想要一个附件,我将包含一个指向 attachments/file1.pdf 的 href 链接。 .
问题是在上面的例子中它会产生 http://example.com/attachments/file1.pdf (请注意, /content/ 已被删除)。

我真正想要的是路径看起来像:
http://example.com/content/attachments/file1.pdf

我认为最好的解决方法是重定向内容的 URL 以包含一个正斜杠(如果他们还没有)。不幸的是,我一直被错误或重定向循环卡住。

我在这里尝试过这个建议: Grails UrlMapping Redirect to keep DRY ,但是当我告诉同一个 url 去两个不同的地方时 UrlMappings.groovy 没有足够的区分(唯一的区别是尾部斜杠)
static mappings = {
"/${content}/"(controller: "application", action: "index")
"/${content}"(controller: "application", action: "redirectToAddSlash")
}

我也知道 Grails 2.3 包含 UrlMapping 重定向,但提供的示例不包含嵌入变量。

理想情况下 我想要这样的东西:
static mappings = {
"/${content}/"(controller: "application", action: "index") <=== Has trailing slash
"/${content}"(redirect: "/${content}/") <=== Redirect to include trailing slash
}

在此先感谢您的帮助!

最佳答案

此解决方案解决了问题的需要,但不是我在问题中寻找的确切解决方案。

使用 <base>元素提供用于所有相对 URL 的基本 href 似乎是最好的解决方法。

对于上述解决方案,我将使用:

<base href="http://example.com/content">

关于Grails 重定向以包含尾随正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235657/

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