为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
紫衣仙女 2019-10-20 12:04:18
如何检查php中是否启用了mod_rewrite?我想知道是否有可能mod_rewrite启用阿帕奇和IIS在……里面PHP.ModRewrite因为IIS存在。检查一下here.所以,我正在寻找一个PHP脚本来检查mod_rewrite在……上面阿帕奇和IIS有没有人知道这样的剧本,或者会写剧本?尤其是对于微软IIS.谢谢!
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

如果使用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

如果上述条件计算为true,然后mod_write已启用。



查看完整回答
反对 回复 2019-10-21
?
互换的青春

TA贡献1797条经验 获得超6个赞

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

<?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>



查看完整回答
反对 回复 2019-10-21
?
翻阅古今

TA贡献1780条经验 获得超5个赞

我喜欢克里斯蒂安·罗伊的解决方案:

###  .htaccess<IfModule mod_rewrite.c>

    # Tell PHP that the mod_rewrite module is ENABLED.
    SetEnv HTTP_MOD_REWRITE On

    RewriteEngine on    RewriteCond %{REQUEST_FILENAME} !-f   
     RewriteCond %{REQUEST_FILENAME} !-d   
      # The rest of your rewrite rules here</IfModule>

然后,您可以签入PHP代码

    array_key_exists('HTTP_MOD_REWRITE', $_SERVER);

不知道这是否也适用于IIS(我没有办法检查),但可能性很大。



查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 392 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信