如何在用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的历史模式?的主要内容,如果未能解决你的问题,请参考以下文章
网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?