我只是将vue js项目部署到apache服务器。我的文件/dist
位于/var/www/html/dist
中。当我访问页面时,它工作正常。但是,当我访问另一个页面并刷新页面时,在浏览器中显示404 Not found。我该如何解决?
答案 0 :(得分:0)
您需要的配置与此类似:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
它将为每个没有相应静态文件的请求自动提供index.html
文件。您将必须放置此.htaccess
文件。 IfModule
的使用是explained here。
答案 1 :(得分:0)
我在安装apache之后在ubuntu上遇到了同样的错误。 首先,我添加了/etc/apache2/apache2.conf
AllowOverride All
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
在/ etc / apache2 / sites-available
<VirtualHost test.ru:80>
ServerName www.test.ru
ServerAlias test.ru
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.ru
<Directory /var/www/test.ru>
#Разрешение на перезапись всех директив при помощи .htaccess
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
然后在控制台中激活重写模块并重新启动apache
sudo a2enmod rewrite
service apache2 restart