如何确定 Apache 的 mod_rewrite 是否已安装

如何确定 Apache 的 mod_rewrite 是否已安装

我在 Suse 机器上安装了 Apache 2。我查看了它的配置文件,检查了 Yast 中安装了哪些模块,甚至尝试在 .htaccess 中编写重写规则,但不起作用。我似乎在任何地方都找不到 mod_rewrite。

我认为这意味着 mod_rewrite 未安装?我该如何确定?

答案1

“/usr/sbin/httpd -l” 将列出您编译的模块,而“/usr/sbin/httpd -M” 将根据您当前的配置文件列出您所包含的模块。

当然,您可能将 httpd 放在不同的路径中。

通常,编译模块列表较短,加载模块列表稍长。如果它在加载模块列表中,则看起来像“rewrite_module (shared)”。

答案2

将 放入RewriteEngine On主配置中,然后进行配置测试。如果通过,则表示mod_rewrite已安装(可能是内置的),如果出错,指出这RewriteEngine是未知指令,则表示未安装。

此外,如果服务器错误日志没有表明 htaccess 文件无法正常运行,我会感到惊讶。

答案3

一个简单的 phpinfo() 将列出可用的模块。

相关内容