我构建了一个包含Vue-Router
的VUE CLI
Web应用程序,因此我应该像这样将所有请求重写为index.html
文件:
RewriteEngine On
RewriteRule ^(.*)$ ./index.html [L]
但有一个问题,有两个文件夹css
和js
包含打包的css
和js
,由Vue-CLI
自动生成。浏览器将发送如下请求:https://example.com/css/xyz.css
但是如上面重写的,Apache
将回答index.html
文件.例如对于js
文件夹/文件
我可以做什么重写所有请求index.html
,但现有的文件/文件夹,如favicon.ico
或Bootstrap
css
/js
文件或图片或css
/js
文件在同一文件夹?
1条答案
按热度按时间8yoxcaq71#
当我读到问题的第一条评论(Here)时,我明白了我可以使用
RewriteCond
(重写前的条件反射)的表达式。在将所有请求重写到
index.html
文件之前有两个条件,检查REQUEST_FILENAME
以确保REQUEST_FILENAME
不是(!
)当前文件夹或当前文件夹的子文件夹中的文件(-f
)或目录(-d
**注意:ONE
RewriteRule
之前的每个RewriteCond
只影响同一个RewriteRule
,不影响RewriteRule
之后的任何RewriteRule