Redirect/Rewrite 在 aws amplify 上覆盖 sitemap.xml

Redirect/Rewrite overriding sitemap.xml on aws amplify

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

我是否需要添加另一条规则才能使 sitemap.xml 正常工作或编辑上面的规则?这是我在 AWS DOCS 上找到规则的文档。先谢谢您的帮助! :)

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

来自您链接到的文档:

Using regular expressions, the following example sets up a 200 rewrite for all files to index.html except for the specific file extensions specified in the regular expression.

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