1
顯然,我的.htaccess中的這些行會導致服務器輸出一個500而不是404錯誤,當嘗試訪問一個不存在的站點時應該出現這個錯誤。500內部服務器錯誤,而不是:404 - 未找到
RewriteEngine On
# Don't rewrite requests to /de or other real files
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*/(css|scripts)
# Rewrite incoming requests to their equivalent behind /de
RewriteRule ^(.*)$ de/$1 [L,QSA]
唉我很不熟悉.htaccess。在這個導致500而不是404錯誤的錯誤中,哪裏出錯?
這是在日誌文件中的錯誤:
請求超過了10個內部重定向限制由於可能配置錯誤。如果需要,使用'LimitInternalRecursion'來增加限制。使用'LogLevel debug'來獲得回溯。
編輯:
RewriteRule ^(.*)$ de/$1 [L,QSA]
這部分負責的錯誤。爲什麼它會阻止404錯誤頁面?
似乎你已經產生了一個無限的重寫循環或類似的東西。 – 2012-03-21 17:09:20
是的,這似乎是這種情況。該錯誤應該由上面的.htaccess引起,因爲沒有它,錯誤不會發生。但如何修復thix? – BlueHorizon 2012-03-21 17:13:51
我不是'mod_rewrite'專家;我會嘗試[閱讀文檔](http://httpd.apache.org/docs/2.0/rewrite/),並註釋掉所有行,然後逐行開始評論,直到它打破。引用:「關於mod_rewrite的好處是它爲您提供了Sendmail的所有可配置性和靈活性。mod_rewrite的缺點是它爲您提供了Sendmail的所有可配置性和靈活性。」 – 2012-03-21 17:18:36