HTTPS我對我在.htaccess網站下面的代碼重寫所有請求.https重寫造成阿帕奇遞歸誤差垃圾網址
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
一般情況下會就好了。現在解決問題。如果我提交了一個垃圾網址,說:domain.com/../../../../etc/psswd,modsecurity會做它的事情,併發出403錯誤代碼。同樣在.htaccess中,我有幾個ErrorDocument指令,其中包括一個用於403的問題。但問題是,特別是當我使用iPad或iPhone,但筆記本電腦有時也會這樣做時,瀏覽器將顯示(對於上述垃圾網址),403錯誤和額外的聲明,說明在嘗試使用ErrorDocument時出現500錯誤。
apache error_log提供以下錯誤:'由於可能的配置錯誤,請求超過了10個內部重定向的限制。'
如果我在.htaccess中註釋掉上述兩個RewriteRules,問題就會消失,但是我不會重定向到https。令人沮喪的是,這似乎並不總是發生。我相信這是因爲我對https的兩次重寫正在遞歸循環中捕獲這些垃圾郵件,我只是不知如何修復它並保留我的重寫爲https。
感謝您的支持。它sort've工作,但造成一個有趣的問題。如果我把網址作爲https +垃圾網址,它一切正常。但是,如果我把URL作爲http +垃圾網址出現錯誤頁面,但沒有樣式或圖像,但源代碼顯示鏈接是正確的。即使他們似乎指向了正確的目標,鏈接也不起作用。 – Cbomb
好的,現在你已經遇到了人們在切換到漂亮的URL方案時最常見的問題:P解決方案也很簡單,只需在你的css,js,圖像文件中使用絕對路徑而不是相對路徑。這意味着你必須確保這些文件的路徑以'http://'或斜槓'/'開始。 – anubhava
就是這樣,我有根目錄的斜槓。網絡登錄IE開發者工具顯示所有關於css,圖片和js被中止的請求。只有當我在URL中使用http時纔會發生。如果我使用https,它工作正常。 – Cbomb