2015-11-19 33 views
-1

是否有任何理由爲什麼我會從CSS文件中獲得404錯誤,並在版本結束時顯示版本號?404從CSS文件

<link rel="stylesheet" href="styles/main.css?v=123"> 

我的文件也名爲main.css?v=123

任何幫助表示讚賞。提前致謝!

+2

這不是它應該如何工作。不要將參數添加到文件中,只需將其稱爲'main.css'。 – JJJ

+0

@Juhana Huh。我很困惑...? – realph

+5

如果你的文件真的被稱爲「main.css?v = 123」,那麼你做錯了。稱之爲「main.css」。整個觀點是,當你更新文件時,你不需要改變它的名字,只需要在HTML * only *中更改版本號。 – JJJ

回答

2

您應該重命名文件只是main.css,然後在HTML中引用這樣的:<link rel="stylesheet" href="styles/main.css?v=123">

您只需要在HTML來改變你的版本已經更新了你的CSS後。請記住,你的css文件將總是被命名爲main.css

希望有所幫助!

1

爲了說明這一點,我們稱之爲查詢字符串緩存。只在HTML中添加查詢字符串。當你改變它時,無論你如何爲CSS文件設置緩存,大多數瀏覽器都會認爲它是一個新文件並重新加載它。

通過PHP可以做到這一點,而無需每次更改css文件時手動更改它。

<link rel="stylesheet" href="styles/main.css?t=<?php echo filemtime('styles/main.css'); ?>" type="text/css" media="screen" /> 

這會將css文件修改時間追加到HTML中。每次保存CSS文件時,都會自動更新。

1

通過這種類型的鏈接,您向瀏覽器傳遞了HTTP請求GET,參數v及其值123。服務器仍在尋找main.css404代碼表示未找到頁面。

如果要服務器處理它,請使用URL重寫。 或者您可以通過輸入%3F來嘗試對問號進行編碼。

請注意,Windows和MSDOS系統不允許包含問號的文件名。