在azure网站中重定向到404上的索引页时出错

rbl8hiat  于 2021-06-20  发布在  Kudu
关注(0)|答案(0)|浏览(263)

我正在尝试在azure网站上部署我的react应用程序。我已经成功地做到了。因为它是一个单页应用程序,所以在重新加载时不起作用。在重新加载期间,将显示404错误状态代码。
我想在404出现时将页面重定向到/(index.html或root)。我可以通过编辑web.config文件来完成。但是我找不到我需要的具体重定向策略。例如:
我需要重定向:
http://letsmeetupp.azurewebsites.net/event/eventid=dsdsd-dsdsd-1475750226814
这个给
http://letsmeetupp.azurewebsites.net/#!/事件/eventid=DSD-DSD-1475750226814
我想用前缀#!/,重定向,这样我就可以在我的react应用程序中找到该路径,并在html5中推送状态。
我当前的web.config文件是这样的。这使我重定向到/,但我需要带前缀的整个路径,这有助于我解析哈希和推送状态(HTML5历史api)。

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

    <system.web>
        <compilation debug="false" targetFramework="4.0" />
      <customErrors mode="On">
        <error statusCode="404" redirect="index.aspx?sec=404" />
      </customErrors>
    </system.web>
    <system.webServer>
        <defaultDocument>
            <files>
                <clear />
                <add value="default.aspx" />
                <add value="Default.htm" />
                <add value="Default.asp" />
                <add value="index.htm" />
                <add value="index.html" />
                <add value="iisstart.htm" />
            </files>
        </defaultDocument>
        <httpErrors errorMode="Custom" existingResponse="PassThrough">
            <remove statusCode="404" subStatusCode="-1" />
            <error statusCode="404" prefixLanguageFilePath="#!/" path="/" responseMode="Redirect" />
        </httpErrors>
    </system.webServer>

</configuration>

jambor评论后编辑:
嘿@jambor msft。我在azure网站上部署了reactjs(单页应用程序)。问题是我的spa是mvc。我已经确定了我在那里的路线。从技术上讲,我正在使用react router在spa应用程序中定义路由。所以对于你的问题,它在你的地方行得通吗?。是的。我知道我不能理解路线。我的意思是当http://letsmeetupp.azurewebsites.net hits 打开浏览器。所有路由都由index.html中包含的react文件进行内部管理。我想要的是在不同的路径上而不是/,它应该重定向到带有前缀的index.html。这样地http://letsmeetupp.azurewebsites.net/#!/event/eventid=dsd。之后,我可以通过移除前缀并呈现正确的路径来在内部处理路由。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题