有没有办法将 .htaccess 中的所有 url 重写为 index.html 但现有文件夹?当我使用 Vue-Router 时
P粉425119739
P粉425119739 2023-08-31 23:59:45
0
1
362
<p>我构建了一个包含 <code>Vue-Router</code> 的 <code>VUE CLI</code> Web 应用程序,因此我应该将所有请求重写为 <code>index.html</code> 文件,如下所示: </p> <pre class="brush:php;toolbar:false;">RewriteEngine On RewriteRule ^(.*)$ ./index.html [L]</pre> <p>但是有一个问题,有两个文件夹 <code>css</code> 和 <code>js</code> 包含打包的 <code>css</code> 和 <code>js</code> > 的,由 <code>Vue-CLI</code> 自动生成。浏览器将发送如下请求:<code>https://example.com/css/xyz.css</code>,但正如上面重写的那样,<code>Apache</code>会回答<code>index.html。 html</code> 文件。例如 <code>js</code> 文件夹/文件</p> <p>如何将所有请求重写为 <code>index.html</code> 但现有文件/文件夹,如 <code>favicon.ico</code> 或 <code>Bootstrap</code> <code> css</code>/<code>js</code> 文件或图片或 <code>css</code>/<code>js</code> 文件位于同一文件夹中?</p>
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

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!