我遇到了一個錯誤,我不確定它的來源。我使用mod_rewrite以下:mod_rewrite和PHP的錯誤?
RewriteRule ^stuff$ index.php?page=stuff [L]
,它工作得很好,但是當我使用
RewriteRule ^(.+?)$ index.php?page=$1 [L]
CSS不再應用到頁面和代碼似乎並沒有讀GET請求。
有人可以詳細說明爲什麼會發生這種情況嗎?
我遇到了一個錯誤,我不確定它的來源。我使用mod_rewrite以下:mod_rewrite和PHP的錯誤?
RewriteRule ^stuff$ index.php?page=stuff [L]
,它工作得很好,但是當我使用
RewriteRule ^(.+?)$ index.php?page=$1 [L]
CSS不再應用到頁面和代碼似乎並沒有讀GET請求。
有人可以詳細說明爲什麼會發生這種情況嗎?
添加重寫狀態時不rewite如果文件存在&使用QSA標誌允許附加參數:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
由於您的查詢字符串已被轉換成一個類似目錄的結構,阿帕奇將檢查該目錄如果你沒有使用任何路徑披露。
所以,如果你是包括CSS文件,像這樣: <link href="skins/style.css">
你需要披露完整webpath到文件:
<link href="http://site.com/skins/style.css">`
而且,在你的CSS所有圖片您需要執行相同的操作,包括完整的Web路徑以避免將來重寫時出現問題。