如何检查是否在 php 中启用了 mod_rewrite?

2021-12-19 00:00:00 php iis apache mod-rewrite

我想知道是否可以检查 mod_rewrite 是否在 Apache 和 IIS 上启用,PHP.

I was wondering if it is possible to check if mod_rewrite is enabled on Apache AND IIS in PHP.

ModRewrite.在此处检查.

所以,我正在寻找一个 PHP 脚本来检查 Apache 和 IIS 上的 mod_rewrite.

So, I'm looking for a PHP script that checks for mod_rewrite on Apache and IIS.

有谁知道这样的脚本或者可以写一个吗?

Does anyone know such script or can write one?

特别适用于 Microsoft IIS.

Especially for Microsoft IIS.

谢谢!

推荐答案

如果您使用的是 mod_php,则可以使用 apache_get_modules().这将返回所有已启用模块的数组,因此要检查 mod_rewrite 是否已启用,您可以简单地执行

If you're using mod_php, you can use apache_get_modules(). This will return an array of all enabled modules, so to check if mod_rewrite is enabled, you could simply do

in_array('mod_rewrite', apache_get_modules());

不幸的是,您很可能会尝试使用 CGI 来执行此操作,这会增加一些难度.

Unfortunately, you're most likely trying to do this with CGI, which makes it a little bit more difficult.

您可以使用以下方法对其进行测试

You can test it using the following, though

strpos(shell_exec('/usr/local/apache/bin/apachectl -l'), 'mod_rewrite') !== false

如果上述条件的计算结果为 true,则启用 mod_write.

If the above condition evaluates to true, then mod_write is enabled.

相关文章