首页 > 解决方案 > 如何在用php,apache服务器编写的网站的子路由上激活vue-router的历史模式?

问题描述

我在我的网站上的 apache 服务器中包含一个 SPA,但是当访问它的路由时,我加载了视图但路由返回到主域。我应该如何配置路由器或.htaccess纠正这个问题?

我的网站是这样www.example.com的,而 Vue SPA 位于www.example.com/en/route1/route2/spa.

当我访问此路由时,Vue SPA 加载但路由返回到主域www.example.com,并且 Vue SPA 路由照常加载,但在主域路由中,如www.example.com/spa/spaRoute1.

我想要的是保留 Vue SPA 的原始路由,从那里显示 SPA 路由,就像www.example.com/en/route1/route2/spa/spaRoute1使用 Vue-Router 的历史模式一样。

我已经尝试修改.htaccesvue-router 显示的文档,但它没有帮助。

https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

我的路由器处于历史模式,如下所示:

export default new Router({
    mode: 'history',
   etc....
})

和我的 .htaccess 使用 vue-router 文档的配置

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

标签: javascriptphpapachevue.jsvue-router

解决方案


您尝试使用基本属性吗?https://router.vuejs.org/api/#base


推荐阅读