繁体   English   中英

Apache 2 Upgrade杀死了我们的.htaccess,无法修复,请帮忙!

[英]Apache 2 Upgrade Killed Our .htaccess, Can't fix, please help!

今天,我们被迫升级到Apache 2,并且一旦我们制定了可以工作数月的规则集,它便立即停止工作。

它显示的行为完全忽略了.htacess,即使我们将其删除(.htacess),服务器似乎也使用了“幻像”规则。

IE:site / stuff /不带.htacess的应用程序应显示404 ...,但是转到site / stuff.php(根本没有.htacess的文件!)

启用.htacess后,site / stuff / 1 /应该转到site / stuff.php?var = 1,而是转到site / stuff.php。

任何帮助表示赞赏,这使我们发疯。

我猜这是一个Apache配置问题。

您的主要httpd.conf可能已将AllowOverride指令的默认值设置为None 这是一组限制性的权限,可以提高性能和安全性,但是这意味着Apache会完全忽略任何.htaccess文件。

您需要在主Apache配置文件中或VirtualHost指令内部为您的服务目录启用AllowOverride 您可以通过指定

AllowOverride All

<VirtualHost><Directory>块中。

编辑(回应评论)

没有更多信息,将很难诊断。 如果您可以提供更多详细信息,则可能会有所帮助。 似乎您的URL已被重写,因此您可以尝试启用mod_rewrite调试以查看规则的应用方式:

<IfModule mod_rewrite.c>
    RewriteLog "/path/to/rewrite.log"
    RewriteLogLevel 3
</IfModule>

第二次编辑-MultiViews

重新阅读问题的描述后,我认为您可能对MultiViews有问题。 听起来与我发现的这个线程非常相似。 尝试在您的<VirtualHost><Directory>下禁用MultiViews,它们可能会干扰您的重写规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM