Apache部署Vue网站刷新页面出现404 Not found

我的环境

Ubuntu18.04 + Apache + Vue3

问题描述

今天在把前端部署到服务器上时,碰到个奇怪的问题,明明在本地运行时能正常刷新的页面,到了Ubuntu服务器上后刷新后会跳出404 Page Not Found错误。排查后将解决方法锁定在Apache设置上。

问题解决

总结一下Apache部署网站404问题的解决方案。假如你用的是:

Linux系统

  1. 首先进入到你存放网站的目录,Linux下一般在 /var/www 目录下,输入代码
cd /var/www/你的网站根目录

新建文件,将其命名为.htaccess,创建方式很多,我这里用vim演示

vim .htaccess
<IfModule mod_rewrite.c>
 Options +FollowSymlinks -Multiviews
 RewriteEngine On

 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

在这里插入图片描述

esc + wq //保存退出
  1. 接下来修改apache2.conf文件,默认位置一般在/etc/apache2/apache2.conf
vim /etc/apache2/apache2.conf
<Directory /var/www/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

在该文件内添加上述语句,最后文件局部类似下图:
在这里插入图片描述

esc + wq //保存退出
  1. 接下来需要修改sites-available下你网站的配置文件,默认位置在/etc/apache2/sites-available目录下。比如我需要修改的就是下图用红框标记的文件。
    在这里插入图片描述
vim /etc/apache2/sites-available/chen1998.conf
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName chen1998
	ServerAlias chen1998
	DocumentRoot /var/www/chen1998
	<Directory /var/www/chen1998>
	    Options Indexes FollowSymLinks
	    AllowOverride All
	    Require all granted
	</Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

网站部分的信息请自行修改成你自己的
在这里插入图片描述
4. 最后,分别运行两行代码,作用分别是开启重写模块并重启apache。

sudo a2enmod rewrite
service apache2 restart

在这里插入图片描述
刷新下网站,发现404问题消失。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值