我是vue的新手,而vue路由器有问题。我正在使用Vue CLI 3。历史记录模式在本地服务器上运行良好,但在生产模式下刷新时显示404
我知道这是一个常见问题,因此我遵循了Vue Router的文档。所以我将这段代码放在项目根目录下的.htaccess文件中,但似乎不起作用
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
因为我是初学者,所以我一定想念任何东西吗?
谢谢您的帮助!
在Google Cloud Compute上,运行Debian并通过Apache服务。
这很痛苦,因为mod_rewrite根本无法工作。原来,问题似乎出在产品中的Apache(尤其是如果您自己做中),默认设置会钉住您。
在/ etc / apache2 / apache2.conf中,以下规则为例:
下的文件,这意味着任何。htaccess重写规则都将不允许。幸运的是,一旦我们知道了这一点,就可以启用重写功能:<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
因此,// var / www / http
重写规则(通过mod_rewrite)现在将按预期应用:<Directory /var/www/html> AllowOverride All </Directory>
。htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>