【发布时间】:2020-09-03 02:48:35
【问题描述】:
我已在 Apache Tomcat 版本 9 中部署了我的 ember 应用程序。
索引页运行良好localhost:8080/myemberapp/
但是当我尝试访问localhost:8080/myemberapp/login 时,它会返回404 error。
我还阅读了有关 URL 重写的内容并将以下代码 sn-p 添加到 .htaccess 文件中
#html5 pushstate (history) support:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [L]
</IfModule>
并将以下内容添加到 tomcat conf/context.xml 文件中
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
但在 Apache Tomcat 中部署后,我仍然无法访问任何其他 ember 路由。
任何人都可以解决这个问题,以便 ember 应用程序中的每个路由都可以映射到自定义 URL。
【问题讨论】:
-
“它不起作用”不足以提供答案。请参阅stackoverflow.com/help/how-to-ask 并使用适当的信息编辑您的问题,否则您可能会被关闭
-
你见过this吗?基本上,您的服务器必须始终返回
index.html和200 OK而不是您的404页面,因此当找不到路径时,它应该回退到index.html。 -
是的,我已经看到了,实际上在 .htaccess 文件中放置代码后,它只显示索引页面,但是当我尝试在 ember 应用程序中使用任何其他路由时,返回 404 错误。跨度>
-
@OlafKock 我听取了您的建议并添加了更多信息,请帮我解决这个问题。
标签: tomcat ember.js web-applications