有没有办法将 .htaccess 中的所有 url 重写为 index.html 但现有文件夹?当我使用 Vue-Router 时
P粉425119739
P粉425119739 2023-08-31 23:59:45
[Vue.js讨论组]

我构建了一个包含 Vue-RouterVUE CLI Web 应用程序,因此我应该将所有请求重写为 index.html 文件,如下所示:

RewriteEngine On
RewriteRule ^(.*)$ ./index.html [L]

但是有一个问题,有两个文件夹 cssjs 包含打包的 cssjs > 的,由 Vue-CLI 自动生成。浏览器将发送如下请求:https://example.com/css/xyz.css,但正如上面重写的那样,Apache会回答index.html。 html 文件。例如 js 文件夹/文件

如何将所有请求重写为 index.html 但现有文件/文件夹,如 favicon.icoBootstrap css/js 文件或图片或 css/js 文件位于同一文件夹中?

P粉425119739
P粉425119739

全部回复(1)
P粉763748806

当我阅读问题的第一条评论时(此处),我明白我可以使用RewriteCond 的这个表达式(重写前的条件处理)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . ./index.html

在将所有请求重写到 index.html 文件之前,有两个条件,检查 REQUEST_FILENAME 以确保 REQUEST_FILENAME 不是(REQUEST_FILENAME >!) 当前文件夹或当前文件夹的子文件夹之一中的文件 (-f) 或目录 (-d)

注意: ONE RewriteRule 之前的每个 RewriteCond 仅影响相同的 RewriteRule并且不会影响 RewriteRule 之后的任何 RewriteRule

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号