У меня есть одностраничное приложение Vue.JS с PHP-сервером, работающее на Apache. Приложение работает нормально, используя маршрутизацию vue.js для перемещения между страницами.
Я хочу динамически создать карту сайта XML на основе записей в базе данных (каждая запись имеет свою собственную страницу). У меня есть файл .php, который генерирует XML и возвращает текст / xml.
<?php
header("Content-type: text/xml");
?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
<url>
<loc>https://myapp.com/</loc>
<priority>1.00</priority>
</url>
<?php
###### Code for calling the DB
?>
</urlset>
В моем файле .htaccess я перенаправляю sitemap.xml на свою страницу sitemap.php.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^sitemap\.xml$ /php/sitemap.php [L]
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?shortName=$1 [NC,L]
</IfModule>
Однако маршрутизатор vue.js перехватывает запрос и отображает мою страницу 404.
const routes = [
// home
{name: 'home',path: '/',component: Home},
// all my other routes here
// 404 catch-all
{ path: '*', component: NotFound}
]
Есть ли способ игнорировать определенные маршруты в маршрутизаторе vue.js? Или я поступаю неправильно?