.htaccess内の既存のフォルダーを除くすべてのURLをindex.htmlに書き換える方法はありますか? Vue-Routerを使用する場合
P粉425119739
2023-08-31 23:59:45
<p><code>Vue-Router</code> を含む <code>VUE CLI</code> Web アプリケーションを構築したので、すべてのリクエストを <code>index.html</code> に書き直す必要があります。 ; ファイル、以下に示すように: </p>
<pre class="brush:php;toolbar:false;">RewriteEngine オン
RewriteRule ^(.*)$ ./index.html [L]</pre>
<p>しかし問題があり、パッケージ化された <code>css</code> と <code> js< を含む 2 つのフォルダー <code>css</code> と <code>js</code> が存在します。 ;/code>gt; >、Vue-CLI
によって自動的に生成されます。ブラウザは、<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/js
ファイル、画像、または css
gt;/js
ファイルは同じフォルダー内にありますか? </p>
質問の最初のコメント (here) を読んだときに、
リーリーRewriteCond
(書き換え前の条件処理) という式が使えることが分かりましたすべてのリクエストを
index.html
ファイルに書き換える前に、2 つの条件があります。REQUEST_FILENAME
をチェックして、REQUEST_FILENAME
が (REQUEST_FILENAME) ではないことを確認してください。
>!) 現在のフォルダーまたは現在のフォルダーのいずれかのサブフォルダー内のファイル (-f
) またはディレクトリ (-d
)注: ONE
RewriteRule
先行する各RewriteCond
は、同じRewriteRule
にのみ影響し、他のものには影響しません。RewriteRule
に続くRewriteRule