2013-12-17 68 views
1

我解決了我爲現有的Magento商店設置暫存環境時遇到的問題。但我不明白它爲什麼起作用&爲什麼我在我的現場沒有這個問題。Magento .htaccess文件RewriteBase設置?

這是我得到的錯誤,每當我試圖瀏覽我的網站暫存主頁我得到500內部服務器錯誤

在錯誤日誌,我得到這個:

[Tue Dec 17 01:12:52 2013] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 
[Tue Dec 17 12:56:17 2013] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://localhost.mysite.com/ 

隨着一點點的research online,我通過改變的.htaccess文件RewriteBase設置RewriteBase /解決了這個問題。在我的現場,此設置被註釋爲#RewriteBase /magento/

  1. 爲什麼僅在我的臨時環境中需要此設置?
  2. 它是否應該在現場環境中,或者應該完全避免 ?
  3. 我在Ubuntu 機器上的Apache2服務器上本地運行站點,也許它與我的本地服務器設置有關?

回答

1

爲什麼僅在我的臨時環境中需要此設置?

可能是因爲您的暫存環境位於文檔根目錄中名爲/magento/的目錄中。當你有如下檢查:

RewriteCond %{REQUEST_FILENAME} !-f 

和基地是錯誤的,檢查,看看文件是否存在失敗。該基地用於追加到相對URL路徑的開始處。所以,如果你的文件在/magento/那麼沒有適當的基礎,你的檢查將失敗,你的規則將無限循環(或直到達到內部遞歸限制)。在您的生產環境中,這些文件可能位於文檔根目錄中,因此基本不是完全必要的,因爲規則與您要重寫的文件位於同一目錄中。

至於其他2個問題,如果不查看所有規則和所有設置,都無法回答。