Итак, у меня есть приложение Vue для клиента, настроенное на сервере Apache Dev. Я делаю это, чтобы соответствовать производственной среде. Приложение находится в подкаталоге, и я установил опцию 'base' на vue-router, чтобы она соответствовала. Если я перехожу к корневому каталогу моего виртуального хоста, он перенаправляется должным образом, однако при переходе на тот же адрес путем ввода адреса выдается 404.
Вот мой код роутера:
const routes = [
{path: '/', redirect: '/london' },
{path: '/:city', component: homeView}
]
const router = new VueRouter ({
mode: 'history',
routes,
base: '/subdir/'
})
У меня также есть соответствующий Apaache .htaccess в 'subdir':
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
Так что, если я перехожу к "cityapp.local / subdir", он перенаправляется на "cityapp.local / subdir / london", но если я набираю "cityapp.local / subdir / london", я получаю страницу apache 404.
Любые мысли или помощь будут оценены!
РЕДАКТИРОВАТЬ: Если я установил свой виртуальный хост для включения subdir и удалил опцию base из маршрутизатора, все работает нормально. Тем не менее, я не могу сделать это на производстве, поэтому я надеюсь, что эта информация немного поможет.