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

Posted

技术标签:

【中文标题】如何在用php,apache服务器编写的网站的子路由上激活vue-router的历史模式?【英文标题】:How to activate the history mode of the vue-router on a subrout of a website written in php, apache server? 【发布时间】:2019-10-30 01:32:44 【问题描述】:

我在我的网站上的 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 的历史模式。

我已经尝试修改.htacces,就像 vue-router 显示的文档一样,但它没有帮助。

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

我的路由器处于这样的历史模式:

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于如何在用php,apache服务器编写的网站的子路由上激活vue-router的历史模式?的主要内容,如果未能解决你的问题,请参考以下文章

PHP到底有多牛?你所知道的网站都在用它

PHP到底有多牛?你所知道的网站都在用它!

网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

apache 如何部署 php

自己在apache+php+sql server下搭建了个网站,要怎么上传到腾讯云呢?腾讯云如何使用,如何购买?

apache2.4限定某个目录禁止解析PHP限制user_agentPHP相关配置