Adakah terdapat cara untuk menulis semula semua url dalam .htaccess ke index.html tetapi folder sedia ada? Apabila saya menggunakan Vue-Router
P粉425119739
P粉425119739 2023-08-31 23:59:45
0
1
559
<p>Saya membina aplikasi web <code>VUE CLI</code> yang mengandungi <code>Vue-Router</code>, jadi saya harus menulis semula semua permintaan untuk <code>index ; fail, seperti yang ditunjukkan di bawah: </p> <pre class="brush:php;toolbar:false;">RewriteEngine On RewriteRule ^(.*)$ ./index.html [L]</pre> <p>Tetapi ada masalah, terdapat dua folder <kod>css</kod> dan <kod>js</kod> ;/code>, dijana secara automatik oleh <code>Vue-CLI</code>. Penyemak imbas akan menghantar permintaan seperti: <code>https://example.com/css/xyz.css</code>, tetapi seperti yang ditulis semula di atas, <code>Apache</code>index .html. html</code> Contohnya <kod>js</kod> <p>Cara menulis semula semua permintaan untuk <kod>index.html</kod> tetapi fail/folder sedia ada seperti <kod>favicon.ico</code> atau <kod> kod>css</kod>/<kod>js</kod> fail atau imej <kod>css</kod>/<kod>js</kod> </p>
P粉425119739
P粉425119739

membalas semua(1)
P粉763748806

Apabila saya membaca ulasan pertama pada soalan (di sini), saya faham bahawa saya boleh menggunakan ungkapan RewriteCond ini (pengendalian bersyarat sebelum menulis semula)

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

Menulis semula semua permintaan kepada index.html 文件之前,有两个条件,检查 REQUEST_FILENAME 以确保 REQUEST_FILENAME 不是(REQUEST_FILENAME >!) 当前文件夹或当前文件夹的子文件夹之一中的文件 (-f) 或目录 (-d)

NOTA: ONE Setiap RewriteRule 之前的每个 RewriteCond 仅影响相同的 RewriteRule并且不会影响 RewriteRule 之后的任何 RewriteRule sebelum RewriteRule hanya mempengaruhi RewriteRule yang sama dan tidak menjejaskan mana-mana selepas RewriteRule >RewriteRule

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan