2017-09-13 36 views
0

快速的問題,我用這條線:的.htaccess線防止加載CSS

RewriteRule ^([^/]+)/? index.php?url=$1 [L,QSA] 

這是我從另一篇文章了,現在我的CSS文件將不會顯示任何內容。

這是結構:

. 
+-- .htaccess 
+-- assets 
| +-- style.css 
| +-- images 
+-- index.php 

而且還有其他的文件,但他們無關。

+0

你不應該把*任何*行,只是粘貼到你的環境看看會發生什麼。你應該嘗試寫你自己的。如果它不起作用,那麼請在SO中尋求幫助。這樣,你會學到的。 –

+0

我得到它所做的,我只是沒有得到正則表達式的一部分,我怎麼能修復它 – nick

回答

2

你缺少兩件事情:

  1. 沒有$錨在您的正則表達式模式
  2. RewriteCond`跳過現有的文件和目錄

這種替換代碼:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .+ index.php?url=$0 [L,QSA] 

另外,如果您正在使用相對路徑CSS/JS /圖片,那麼你可以略低於您網頁的HTML的<head>部分補充一點:

<base href="/" /> 

讓每一位相對URL是從基本URL解決,而不是從當前頁面的URL。

+1

謝謝這工作! – nick