Разрешение динамического создания PHP файла sitemap.xml в веб-приложении vue.js - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть одностраничное приложение 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? Или я поступаю неправильно?

...