为什么这个Rewrite规则会抛出一个500内部.htaccess文件?

时间:2016-10-05 14:42:56

标签: php apache .htaccess mod-rewrite

在使用PHP和mod_rewrite的服务器上的

我在文档根目录中有以下.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()显示时加载:

enter image description here

我在SO上查看了不同的问题,但基本上所有人都说错误是由于.htaccess中的语法错误(这不是我的情况,因为规则适用于localhost)。

那么,也许,Apache的全局配置中有什么东西?也许.htaccess的创作被某种方式否定了?可能吗?

感谢您的关注。

编辑:我能够联系托管服务提供商,他们告诉我他们在整个htdocs目录中禁用了.htaccess。他们是如何做到这一点,以便服务器抛出500内部服务器错误?主Apache中的AllowOverride None无法完成这项工作,因为在这种情况下,Apache会忽略.htaccess中的规则,但不会抛出任何错误......

0 个答案:

没有答案