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

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

我想知道是否有可能mod_rewrite启用阿帕奇IIS在……里面PHP.

ModRewrite因为IIS存在。检查一下here.

所以,我正在寻找一个PHP脚本来检查mod_rewrite在……上面阿帕奇IIS

有没有人知道这样的剧本,或者会写剧本?

尤其是对于微软IIS.

谢谢!


紫衣仙女
浏览 398回答 3
3回答

喵喵时光机

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

互换的青春

复制这段代码并运行以找出答案。<?php&nbsp;if(!function_exists('apache_get_modules') ){ phpinfo(); exit; }&nbsp;$res = 'Module Unavailable';&nbsp;if(in_array('mod_rewrite',apache_get_modules()))&nbsp;&nbsp;$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>

翻阅古今

我喜欢克里斯蒂安·罗伊的解决方案:###&nbsp;&nbsp;.htaccess<IfModule&nbsp;mod_rewrite.c> &nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Tell&nbsp;PHP&nbsp;that&nbsp;the&nbsp;mod_rewrite&nbsp;module&nbsp;is&nbsp;ENABLED. &nbsp;&nbsp;&nbsp;&nbsp;SetEnv&nbsp;HTTP_MOD_REWRITE&nbsp;On &nbsp;&nbsp;&nbsp;&nbsp;RewriteEngine&nbsp;on&nbsp;&nbsp;&nbsp;&nbsp;RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-f&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-d&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;The&nbsp;rest&nbsp;of&nbsp;your&nbsp;rewrite&nbsp;rules&nbsp;here</IfModule>然后,您可以签入PHP代码&nbsp;&nbsp;&nbsp;&nbsp;array_key_exists('HTTP_MOD_REWRITE',&nbsp;$_SERVER);不知道这是否也适用于IIS(我没有办法检查),但可能性很大。
打开App,查看更多内容
随时随地看视频慕课网APP