如何解决如何在Apache中配置Vue路由器历史模式
当我尝试在我的 /etc/httpd/conf/httpd.conf 上添加以下行时出现此错误:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
Syntax error on line 228 of /etc/httpd/conf/httpd.conf:
RewriteBase: only valid in per-directory config files
我使用的是 Apache/2.4.6 (CentOS 8)
/etc/httpd/conf/httpd.conf:
<VirtualHost *:80>
ServerName masterseller.ph
Redirect permanent / https://masterseller.ph
</VirtualHost>
和
/etc/httpd/conf.d/ssl.conf:
<VirtualHost *:443>
DocumentRoot "/var/www/html/masterseller/dist/"
... (+ SSL configs)
</VirtualHost>
顺便说一句,我正在尝试部署我的 vue dist 文件夹(这也是我的 DocumentRoot)。
我的 Vue-Rounter:
const router = new VueRouter({
mode: "history",base: "/",routes
});
我正在尝试遵循并理解此说明: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations
我尝试在 httpd.conf 文件的末尾添加“FallbackResource /index.html”,它起作用了,但我无法访问我的 PHPmyadmin 页面。
我错过了什么?我对这一切都很陌生。
提前感谢您的回答(我的老板也不想要 vue 路由器的哈希模式)
解决方法
该错误意味着该配置在基本配置文件中不起作用。在 Apache 中,您还可以在每个目录中放置一个“per-directory”配置。
在 .htaccess
根目录中创建一个新的 dist
文件并将配置放入其中。
.htaccess
Apache docs 说:
.htaccess
文件(或“分布式配置文件”)提供了一种在每个目录的基础上进行配置更改的方法。包含一个或多个配置指令的文件被放置在特定的文档目录中,这些指令适用于该目录及其所有子目录。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。