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

2022-08-30 06:44:44

我想知道是否有可能检查是否在PHPApacheIIS上启用。mod_rewrite

存在 IIS 的 ModRewrite检查它 在这里

所以,我正在寻找一个在ApacheIIS上检查的PHP脚本。mod_rewrite

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

特别是对于Microsoft IIS

谢谢!


答案 1

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

in_array('mod_rewrite', apache_get_modules());

不幸的是,你很可能正在尝试用CGI做到这一点,这使得它有点困难。

但是,您可以使用以下内容对其进行测试

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

如果上述条件的计算结果为 为 ,则启用。truemod_write


答案 2

复制这段代码并运行它以找出答案。


<?php
 if(!function_exists('apache_get_modules') ){ phpinfo(); exit; }
 $res = 'Module Unavailable';
 if(in_array('mod_rewrite',apache_get_modules())) 
 $res = 'Module Available';
?>
<html>
<head>
<title>A mod_rewrite availability check !</title></head>
<body>
<p><?php echo apache_get_version(),"</p><p>mod_rewrite $res"; ?></p>
</body>
</html>

推荐