【发布时间】:2015-10-30 17:34:24
【问题描述】:
我有一个 angularJs 应用程序,它使用 $routeProvider 来处理内部路由。后端在 Spring Boot 应用程序中使用 Rest 控制器。该应用程序基于此:https://spring.io/guides/tutorials/spring-security-and-angular-js/
我想做的是发送一封电子邮件,其中包含类似于“http://localhost:8080/link/key1234”的嵌入式链接。用户应该能够单击它,然后转到 key1234 变量所指示的特定内容。
我看到了一个类似的项目 (Refreshing page gives "Page not found"),它建议使用 .htaccess 来处理这个问题,但我目前没有 .htaccess 文件。
我在 [$locationProvider.html5Mode(true);] 上也有 html5mode
另一个建议(Spring Boot with AngularJS html5Mode)是拦截请求并重定向到主页。虽然这可以防止应用程序失败,但我需要用户转到特定页面,而不是主页。
我对不同组件的交互感到非常困惑。您能否指出正确的方向以启用特定链接?
更新
我认为 .htaccess 文件是一个红鲱鱼。
spring.io 教程包含以下代码:
@RequestMapping(value = "/{[path:[^\\.]*}")
public String redirect() {
return "forward:/";
}
此段对 一些 页面执行重定向。
但是,我的测试(直到最近)一直在使用“http://localhost:8080/public/about”,上面的 RequestMapping sn-p 没有使用它。
如果我使用单级 url(例如“http://localhost:8080/test”),那么我现有的代码可以正常工作。
这个正则表达式似乎有缺陷。
【问题讨论】:
-
您的客户端是在同一个 Spring Boot 应用程序中运行,还是您正在使用不同的服务器,例如“grunt serve”?
-
我之所以问这个问题是因为,无论您的客户端在什么服务器上运行,无论是在同一个应用程序上还是在“grunt serve”上,您都需要找到 .htaccess 的等价物。
-
谢谢桑杰。目前,我的客户端正在通过 Spring Boot 运行。
标签: angularjs spring-boot angular-ui-router