Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 2.4升级后的mod_重写问题_Apache_Mod Rewrite_Centos_Http Status Code 404 - Fatal编程技术网

Apache 2.4升级后的mod_重写问题

Apache 2.4升级后的mod_重写问题,apache,mod-rewrite,centos,http-status-code-404,Apache,Mod Rewrite,Centos,Http Status Code 404,我已经在这里潜伏了很多年,我爱死了。这实际上是我第一次找不到解决办法,这让我发疯 我的一个客户有一个站点运行CentOS 5.11和Apache 2.2.3以及PHP 5.5.13已经有一段时间了。我们不得不迁移到运行CentOS 7.3.1611、Apache 2.4.6和PHP5.5.38的新服务器上 我已经确保我的mod_rewrite模块正在加载,并在httpd.conf中设置AllowOverride All。该站点正在运行Twig模板引擎,该引擎依赖.htaccess将内容引导回索引

我已经在这里潜伏了很多年,我爱死了。这实际上是我第一次找不到解决办法,这让我发疯

我的一个客户有一个站点运行CentOS 5.11和Apache 2.2.3以及PHP 5.5.13已经有一段时间了。我们不得不迁移到运行CentOS 7.3.1611、Apache 2.4.6和PHP5.5.38的新服务器上

我已经确保我的mod_rewrite模块正在加载,并在httpd.conf中设置AllowOverride All。该站点正在运行Twig模板引擎,该引擎依赖.htaccess将内容引导回索引处理。我最初的.htaccess有以下内容:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

这一直没有问题,但在迁移后,该站点拒绝运行。我得到了500和404的错误遍布各地。我有一个/directory/item调用中断,因为有一个directory.html文件与我不理解的文件相匹配。告诉我directory.html/item.html不存在。在my images目录中有一个.htaccess,其中只有“选项+索引”。。。当我删除时,404错误中的一些得到了解决。我可以通过执行“RewriteCond%{REQUEST_FILENAME}.html!-f”来获得要加载的正确目录页,但这又会破坏内容!!这里有人有什么想法可以帮我解释一下吗

apache似乎会自动在文件名后面添加.html。您可能启用了多视图。尝试一下“选项-多视图”它是“选项-索引-多视图”,我试着把它改成“选项-多视图”,然后全部注释掉。没有什么改变。。。请求返回此服务器上未找到请求的URL/directory.html/item/的错误。当我删除主文件夹中的directory.html文件时,它会工作。。。如何让它忽略directory.html?它在旧服务器上运行良好。在apache中是否启用了mod_协商?如果是的话,试着禁用它。天哪,我想给你一个巨大的虚拟吻。。。这就是导致它的原因!!我真不敢相信我没有发现其他人提出这一建议。那个模块到底是什么?我禁用它的风险是什么?当我试图查看该文件夹中的任何图像时,另一个包含选项+索引的.htaccess文件仍然存在问题,我收到一个内部服务器错误。。。删除时会消失,但我很犹豫,因为我不知道它提供什么功能。我不确定为什么会有人使用它,但您可以发现,似乎apache会自动将您的文件名附加到.html。您可能启用了多视图。尝试一下“选项-多视图”它是“选项-索引-多视图”,我试着把它改成“选项-多视图”,然后全部注释掉。没有什么改变。。。请求返回此服务器上未找到请求的URL/directory.html/item/的错误。当我删除主文件夹中的directory.html文件时,它会工作。。。如何让它忽略directory.html?它在旧服务器上运行良好。在apache中是否启用了mod_协商?如果是的话,试着禁用它。天哪,我想给你一个巨大的虚拟吻。。。这就是导致它的原因!!我真不敢相信我没有发现其他人提出这一建议。那个模块到底是什么?我禁用它的风险是什么?当我试图查看该文件夹中的任何图像时,另一个包含选项+索引的.htaccess文件仍然存在问题,我收到一个内部服务器错误。。。当它被移除时会消失,但我很犹豫,因为我不知道它有什么功能。我不确定为什么会有人使用它,但你可以找到