我目前在IIS上托管有用create-react-app创建的React应用。大多数URL重写均已完成,并且运行良好,但事实是我现在使用react-snap库预呈现内容。我需要弄清楚如何将URL重定向到HTML文件所在的位置(这主要用于SEO),例如www.mysite.com/blog可以将301重定向到www.mysite.com/blog/
所以,我认为整个事情是在URL末尾添加一个正斜杠。有趣的是,就获得SMO和SEO的共享链接和有效的元标记而言,相同的应用程序部署在apache服务器上运行良好,但是在IIS上根本无法正常工作。
到目前为止,这是web.config文件的一部分:
<rewrite>
<rules>
<rule name="Static Assets" stopProcessing="true">
<match url="([\S]+[.](html|htm|svg|js|css|png|gif|jpg|jpeg))" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" negate="true" pattern="^/api$" ignoreCase="true" />
</conditions>
<action type="Rewrite" url="/{R:1}"/>
</rule>
<rule name="ReactRouter Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>