Gibt es eine Möglichkeit, alle URLs in .htaccess in index.html umzuschreiben, außer in vorhandenen Ordnern? Wenn ich Vue-Router verwende
P粉425119739
P粉425119739 2023-08-31 23:59:45
0
1
520
<p>Ich habe eine <code>VUE CLI</code>-Webanwendung erstellt, die <code>Vue-Router</code> enthält, daher sollte ich alle Anfragen in <code>index</code> umschreiben ;-Datei, wie unten gezeigt: </p> <pre class="brush:php;toolbar:false;">RewriteEngine Ein RewriteRule ^(.*)$ ./index.html [L]</pre> <p>Aber es gibt ein Problem, es gibt zwei Ordner <code>css</code>, die gepackte <code>css</code> ;/code> >, automatisch generiert von <code>Vue-CLI</code>. Der Browser würde eine Anfrage senden wie: <code>https://example.com/css/xyz.css</code>, aber wie oben umgeschrieben, würde <code>Apache</code> antworten .html. html</code>-Datei. Zum Beispiel <code>js</code> Ordner/Datei</p> <p>So schreiben Sie alle Anfragen in <code>index.html</code> um, aber vorhandene Dateien/Ordner wie <code>favicon.ico</code> code> css</code>/<code>js</code>-Dateien oder <code>css</code>-Dateien befinden sich im selben Ordner? </p>
P粉425119739
P粉425119739

Antworte allen(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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!