Apache将sitemap.xml重定向到错误组件

时间:2017-07-02 11:35:34

标签: xml apache angular .htaccess

这是我的Angular路由器配置:

const appRoutes: Routes = [
{ path: 'home', component: HomeComponent,
data: {
  animation: {
    value: 'home',
  }
}
},
{ path: 'about',  component: AboutComponent,
data: {
  animation: {
    value: 'about',
  }
}
},
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: '**', component: ErrorComponent }
];

每次我尝试导航到www.myapp.com/sitemap.xml时,它都会匹配ErrorComponent并重定向到我的404页面。

如何配置apache服务器以停止sitemap.xml转到index.html?

以下是我的.htaccess文件中的重写规则:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

我明白了。我只需要添加以下重写规则来重定向到sitemap.xml文件。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^sitemap\.xml$ sitemap.xml [L]
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</IfModule>