有沒有辦法將 .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 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>css</code>/<code>js<code>css</code>/<code>js</code> 檔案位於同一資料夾中>/<code>js< ? </p>
當我閱讀問題的第一條評論時(此處),我明白我可以使用
RewriteCond
的這個表達式(重寫前的條件處理)在將所有請求重寫到
index.html
檔案之前,有兩個條件,檢查REQUEST_FILENAME
以確保REQUEST_FILENAME
# 而不是(REQUEST_FILENAME
>!) 目前資料夾或目前資料夾的子資料夾之一中的檔案(-f
) 或目錄(-d
)注意: ONE
RewriteRule
之前的每個RewriteCond
僅影響相同的RewriteRule
並且不會影響RewriteRule
之後的任何RewriteRule