首頁 >後端開發 >php教程 >URL重寫後如何解決CSS、JS、圖片載入問題?

URL重寫後如何解決CSS、JS、圖片載入問題?

Susan Sarandon
Susan Sarandon原創
2024-12-02 09:37:10608瀏覽

How to Fix CSS, JS, and Image Loading Issues After Implementing URL Rewriting?

URL 重寫:解決CSS、JS 和圖片載入失敗的問題

在.htaccess 中實作URL 重寫規則時,會出現一個常見問題CSS、JS 和映像等外部資源無法正確載入。這可以歸因於重定向發生時 URI 基底的變化。

最初的解決方案涉及使用絕對路徑,這可以確保無論頁面的 URL 是什麼,資源都可以找到。然而,這需要對所有文件進行繁瑣的修改,使其成為不可靠的解決方案。

另一種方法利用 .htaccess 規則來建立一致的基本 URI:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteRule ^detail/([0-9]+)/?$ detail.php?id=

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/css/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /detail/123/ [R=307,L]

此規則確保所有外部資產是從 /detail/123/ URL 引用的。 [R=307,L] 標誌將請求重定向到正確的基本 URI (/detail/123/),有效解決資源載入問題,而不需要絕對路徑。

與此結合,您可以新增

內的標籤頁元素:
<base href="/detail/123/">

這進一步鞏固了基本 URI 並使相對路徑能夠正常運作。透過實施這些規則,您可以保持 URL 重寫,同時避免編輯單一文件,從而確保無縫的使用者體驗。

以上是URL重寫後如何解決CSS、JS、圖片載入問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn