我在D7中有一些非常奇怪的行爲,我從未見過。我已經從我的開發機器上將一個新站點遷移到測試機器,所以代碼和數據庫是相同的。在開發機器上(Ubuntu 13.04,Apache,PHP 5.5.3),一切正常,但在Raspbian上運行PHP 5.4.4的Raspberry Pi測試框中,我似乎在表單提交時得到了404錯誤。看起來會發生的是,當您查看HTTP響應時,未處理表單並返回原始頁面,但帶有404狀態碼。非常奇怪的Drupal 7 404行爲
這會影響使用POST的所有內容,包括登錄。我確實設法通過將登錄表單的'action'屬性更改爲使用Firefox的Web開發人員工具指向'/'來登錄,但許多其他事情都無法正常工作,管理菜單偶爾也會消失。
認爲它可能是一個緩存問題,所以手動截斷所有的緩存表,但沒有什麼區別。似乎有一個問題與一個不存在的臨時文件夾,所以我創建了一個期待與777燙髮(因爲我不能改變設置,因爲表單提交不會工作...),但它不是這個無論是。乾淨的URL工作正常。
以前從未見過這樣的事情。任何想法最讚賞!
聽起來像在Drupal中的「乾淨的URL」問題(只是猜測)。你確定你的新服務器支持乾淨的URL嗎?你可以在'admin/config/search/clean-urls'查看它。你可能想使用'?q = admin/config/search/clean-urls',它不能直接訪問。如果服務器通過乾淨的URL測試,然後檢查是否已經正確複製'.htaccess'文件。 –
感謝Ajit,但不是這樣,乾淨的URL被啓用並且正常工作。我剛剛嘗試在不同的服務器上運行它,並且遇到了同樣的問題,但在我的開發盒上都很好。我在兩個地方都檢查了.htaccess,它們是相同的。我認爲它*必須*是一個配置問題,指的是開發盒,但還沒有找到它... –
Ajit - 我收回它,我忘了啓用mod_rewrite和mod_headers!我感到驚訝的是,沒有它們的乾淨網址都可以工作。我認爲這是因爲.htaccess將404指向Drupal,然後Drupal將解釋請求的URL並顯示相應的頁面,但是Apache當然會發送404頭。感謝您指點我正確的方向。 –