我在文档根目录中有以下.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .(rewriteme)$ rewrite.php [L]
</IfModule>
当我向http://theserver.com/arewriteme
发出请求时,我收到500内部服务器错误。
但是在我的本地系统上,当我请求rewrite.php
时,上面的规则很有效并且脚本It works!
被执行(它只是回显http://localhost/arewriteme
):
<?php echo "It works!"; ?>
为什么我在远程服务器上遇到500错误?我无法访问全局Apache配置,但我确信模块会在`phpinfo()显示时加载:
我在SO上查看了不同的问题,但基本上所有人都说错误是由于.htaccess
中的语法错误(这不是我的情况,因为规则适用于localhost)。
那么,也许,Apache的全局配置中有什么东西?也许.htaccess
的创作被某种方式否定了?可能吗?
感谢您的关注。
编辑:我能够联系托管服务提供商,他们告诉我他们在整个htdocs目录中禁用了.htaccess
。他们是如何做到这一点,以便服务器抛出500内部服务器错误?主Apache中的AllowOverride None
无法完成这项工作,因为在这种情况下,Apache会忽略.htaccess中的规则,但不会抛出任何错误......