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

我在Suse机器上安装了Apache 2。 我已经通过它的configuration文件,检查哪些模块安装在Yast中,甚至尝试在.htaccess中写入重写规则,这是行不通的。 我似乎无法在任何地方findmod_rewrite。

我认为这意味着mod_rewrite没有安装? 我怎样才能确定?

“/ usr / sbin / httpd -l”会列出你编译的模块,“/ usr / sbin / httpd -M”会按照你当前的configuration文件列出你所包含的模块。

当然,你可能有不同的pathhttpd。

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

把一个RewriteEngine On放到主configuration中,然后做一个configurationtesting。 如果它通过, mod_rewrite被安装(可能内置),如果错误说RewriteEngine是一个未知的指令,那么它没有安装。

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

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