在 aws 放大上重定向/重写覆盖 sitemap.xml

问题描述

我在 aws amplify 上托管了一个使用 react.js 制作的网站。根据 AWS,我想在重写/重定向添加此规则 </^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>,以便我的应用程序中的路由显示出来。但是,我还创建了一个 sitemap.xml,它可以在本地主机上运行,​​但不能在实时站点上运行。我知道这是因为规则,因为当我删除规则时,站点地图会加载到实时站点上,但随后我的路线不起作用。

是否需要为 sitemap.xml 添加另一条规则,或者编辑上面的规则?这是我在 AWS DOCS 上方找到规则的文档。先谢谢您的帮助! :)

解决方法

您现在拥有的规则是根据文件扩展名进行匹配 - css、gif 等。在不了解您正在使用的特定系统的更多信息的情况下,我不能肯定地说这会解决您的问题,但我认为如果您将 xml 添加到扩展列表中,它会解决这个问题。

来自您链接的文档:

使用正则表达式,以下示例将所有文件的 200 次重写设置为 index.html,但正则表达式中指定的特定文件扩展名除外。

现在,我猜 sitemap.xml 不起作用的原因是该规则将 sitemap.xml 的所有请求发送到 index.html,以便您的 React 应用程序提供服务。如果您排除以 xml 结尾的网址,它将不再重定向。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...