Apache服务不正确的页面

前言:这是我见过的最奇怪的错误之一,特别是它来了又去。

有一个名为view.php的页面,另一个页面叫做save.php 。 当我请求save.php时,该错误就会显示出来 – 我反而得到了view.php 。 请求标题说save.php ,并且发生在Firefox,IE,Chrome,Opera,Safari。 它会一直发生,除非 – 这里是奇怪的部分 – 我打开文件并保存。 我不做任何改变,只是保存。 保存后,我可以做出同样的确切要求,它提供了save.php像没有错。

我目前正在从一个SVN仓库出口(只是一个简单的svn export http://server/repository target命令)。 如果我没有做任何更改后导出,错误就会重新显现。 如果更改(完全不相关的页面),并将其提交到存储库,然后导出,该错误通常会消失。 但是,同样的事情可能发生在两个不同的页面(也与修改后的页面无关),或者可能不会。

我没有使用任何types的caching(没有PHPcaching,浏览器caching,或Apachecaching)。

SVN版本:Windows机器(开发机器)上的1.6.9 w / AnkhSVN,版本库机器和testing机器(我运行导出命令的地方)都是1.4.2。

除了怀疑svn是哪里出了问题,我不知道。

你为什么不尝试重命名文件。 重命名这两个文件,添加一些前缀,然后重试。 这可能会摆脱任何错误的redirect/ inode混淆(也许)。

确保没有启用caching。 在Apache中检查你的模块并卸载任何caching模块。 确保PHP中的APC扩展未加载(phpinfo)

尝试使用svn checkout而不是svn export 。 开始testing,当你注意到越野车的行为做svn stat看看是否有任何改变。 从技术上说, checkoutexport之间应该没有区别,除非checkout更有用,因为它允许更新。 但checkout你想在你的虚拟主机configuration中有如下的东西。

 <LocationMatch "\.svn.*"> Order deny,allow Deny from all </LocationMatch> 

最后但并非最不重要的,从新的HTTPconfiguration开始。 备份configuration并重新安装Apache / PHP软件包。 这应该产生默认configuration。 然后,添加简单的configuration更改,以便能够提供PHP文件。 一旦你可以看到两个文件没有问题开始testing你的问题。 然后逐渐开始添加您保存的configurationconfiguration部分,直到它开始失败。 您添加的最后一部分是导致它的原因。

Certianly我从来没有听说过这样的事情,尽pipe运行几个中小型LAMP网站。

除了怀疑svn是哪里出了问题

要检查save.php的内容还没有被save.phpreplace,有多难? 但是这本身并不能解释为什么它是随机发生的。

你在复制错误时是否嗅探了stream量,以确保它不是由于redirect或caching?

提供错误内容后,访问和错误日​​志显示什么?

C。

我只有一个mod_rewrite肤浅的知识。 不pipe有没有mod_rewrite,我build议从SVN中删除save.php和view.php,然后用不同的提交重新导入它们。 我正在脱离一些我在修订版本被破坏的地方所获得的知识,并且移动它们或删除并重新导入修复问题。 我知道这不是一个优雅(build议)的解决scheme。

我希望这有帮助。

谢谢,
扎卡里