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

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

Linda Hamilton
發布: 2024-12-02 19:09:15
原創
167 人瀏覽過

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

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

URL重寫中,常常會遇到CSS、JS的載入場景,並且圖像檔案在重定向後停止載入。當使用相對路徑並且重新導向規則修改基本 URL 時,通常會出現此問題。

為了說明這一點,請考慮以下配置:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteRule ^detail/([0-9]+)/?$ detail.php?id=
登入後複製

在這種情況下,規則重定向URL,例如“http://localhost/detail/123”到“ http://localhost/detail.php?id=123」。雖然重定向成功,但位於「http://localhost/css/」和「http://localhost/js/」中的 CSS、JS 和圖片檔案無法加載,因為相對路徑不再有效。

解決問題

一個常見的解決方案是將相對路徑更改為絕對路徑,例如“/css/”和“/js/”。但是,這種方法需要手動編輯多個文件,因此不被認為是可靠的解決方案。

使用.htaccess 規則的替代解決方案

在保留相對路徑的同時解決此問題,請考慮以下解決方案:

在. htaccess 檔案中插入以下行 RewriteRule語句之前:

RewriteBase /
登入後複製

這可確保即使在重定向後基本 URI 仍保留“/”,從而解決相對路徑的問題。

範例:

經過上述修改,現在出現.htaccess 檔案如下:

Options +FollowSymLinks

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteRule ^detail/([0-9]+)/?$ detail.php?id=
登入後複製

注意:

注意:請記住將“RewriteBase /”行放在任何RewriteRule 語句之前。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板