使用Angular 2,如何在不触发角度路由的情况下查看robots.txt?

时间:2017-02-22 05:38:13

标签: angular angular2-routing robots.txt

我正在使用Angular 2并在生产时将distots.txt添加到我的dist文件夹的根目录(用于搜索引擎优化目的)

但该文件无法访问,因为url https://myrandomsite.com/robots.txt只是重定向到我的PageNotFoundComponent,因为我的路由设置如何。

如何允许访问robots.txt"通常"并阻止我的Angular 2路由配置触发?

编辑:我正在使用带有Firebase后端的Angular2前端。

1 个答案:

答案 0 :(得分:1)

这不是Angular问题,它是你的网络服务器之一。

您的网络服务器不应将网址重定向回现有文件回/index.html

请参阅此IIS示例配置以使用规则重定向:

    <rule name="AngularJS" enabled="false" 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>

如果文件,目录或网址以/api开头,

,IIS将不会重定向

<强>更新

使用firebase,您应该阅读:https://firebase.google.com/docs/hosting/url-redirects-rewrites