
[英]Can somebody please help me to avoid internal server error | htaccess | apache2ctl | backtrack
[英]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.