我有一个不错的 restlet 应用程序,其组件附加以下内容:
cmp.getDefaultHost().attach("/mycmd",ProcessReq.class);
当请求 URL 为 http://<my-host>/mycmd/ 时,ProcessReq 类返回一个 index.html,其中包含指向其他页面的链接。这些页面与 index.html 位于同一目录中,并在我的 index.html 中作为相对页面引用,如下例所示:
<a href="otherpage.html">Other Page</a>
但是,我发现用户倾向于使用不带尾随“/”的 URL,例如: http://<my-host>/mycmd 。不幸的是,当他们这样做时,所有指向相关页面的链接都会搞砸。
当您使用 http://<my-host>/mycmd/ 显示 index.html,然后单击“其他页面”链接时,浏览器(正确)转到 http://<my-host>/mycmd/其他主机.html。不幸的是,当您执行 http://<my-host>/mycmd(没有尾部斜杠)时,指向其他页面的链接会将浏览器发送到 http://<my-host>/otherpage.html,这当然会返回404 错误。
我在 Internet 上进行了搜索,发现 Restlet 库被设计为在我默认执行的各种 URL 之后需要一个斜杠。但是,要求这样做会使我的用户发疯。
是否有某种方法可以配置或操作请求(或响应),以便我可以发送此类 URL 请求而无需尾部斜杠,并使返回页面中的相对链接指向正确的位置?
有人请指教...