【发布时间】:2015-12-31 22:03:41
【问题描述】:
问题(由前端,angularjs上下文引起):
“X 在其定位服务中使用 HTML5 模式。这意味着,您将看到像 www.example.com/mail 这样的 URL,而不是像这样的 URL:www.example.com/#/mail
此外,如果不遵循 .htaccess 规则,您将无法直接访问您的应用程序。因此,在 url 栏输入 www.example.com/mail 或刷新您的应用程序将导致内部服务器错误。
创建一个与 index.html 位于同一目录的 .htaccess,并将以下代码粘贴到其中:"
<IfModule mod_rewrite.c>
RewriteEngine On
# Send all requests to the index.html unless
# it's a directory or a file that actually exists
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [L]
</IfModule>
当我使用 tomcat 时,这个脚本与必须放在 Spring Boot 应用程序中的伪代码一样有用。否则浏览器中直接键入的路径都不起作用(获取 404 白标服务器页面)。
实际上我需要实现类似的东西。我什至不知道我应该看哪些组件。
到目前为止,我脑海中的信息是杂乱无章的:
- 过滤器链和资源处理程序中的弹簧过滤器按我提到的顺序(根据跟踪日志)命中。
- 只要路径为:我就需要重定向到 index.html: A. 不是 rest api 控制器路径和 B. 未解析为内部的静态资源(在我的情况下为“静态”资源文件夹)。
那么我需要创建自定义资源处理程序/自定义过滤器吗?或者问题可能出在不同的维度上? (tomcat 本身?)
【问题讨论】:
标签: spring-boot