我在D7中有一些我以前从未见过的非常奇怪的行为。我已将我的开发机器中的新站点迁移到测试机器,因此代码和数据库完全相同。在开发机器上(Ubuntu 13.04,Apache,PHP 5.5.3),一切正常,但是在Raspberry上运行PHP 5.4.4的Raspberry Pi测试盒上,我似乎在表单提交时遇到404错误。似乎发生的情况是,当您查看HTTP响应时,表单未被处理并且返回原始页面但具有404状态代码。
这会影响使用POST的所有内容,包括登录。我确实设法通过使用Firefox的Web开发人员工具将登录表单的“action”属性更改为指向“/”来登录,但许多其他内容都无效,管理菜单偶尔会消失。
认为这可能是一个缓存问题,因此手动截断所有缓存表但没有区别。一个不存在的临时文件夹似乎存在一个问题所以我用777烫发创建了它所期望的那个(因为我无法更改设置,因为表单提交不起作用......)但它不是这个无论是。干净的URL工作正常。
之前从未见过这样的事情。任何想法最受赞赏!
答案 0 :(得分:0)
以下似乎是这个问题的答案(取自OPer在问题下面的评论):
我忘了启用mod_rewrite和mod_headers!令我惊讶的是,干净的URL在没有它们的情况下工作。我认为这是因为.htaccess将404s指向Drupal,然后它将解释所请求的URL并显示相应的页面,但当然Apache正在发送404标题。