Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 什么';IIS是否等同于这些重写规则?_Apache_Iis_Mod Rewrite_Iis 7_Url Rewriting - Fatal编程技术网

Apache 什么';IIS是否等同于这些重写规则?

Apache 什么';IIS是否等同于这些重写规则?,apache,iis,mod-rewrite,iis-7,url-rewriting,Apache,Iis,Mod Rewrite,Iis 7,Url Rewriting,我一直使用apache,所以我对IIS完全陌生。在IIS中如何执行此操作 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 我已经打开了IIS管理器,正在查看“URL重写”并单击“添加规则”。我想这是我想去的地方,但我不知道从这里去哪里 对于那些知道IIS但不知道apache mod_rewrite的人来说,它只

我一直使用apache,所以我对IIS完全陌生。在IIS中如何执行此操作

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
我已经打开了IIS管理器,正在查看“URL重写”并单击“添加规则”。我想这是我想去的地方,但我不知道从这里去哪里



对于那些知道IIS但不知道apache mod_rewrite的人来说,它只是检查请求是否不是目录或文件,如果是,则将请求url作为GET参数传递给index.php,这样就可以通过路由器在代码中进行处理。

您发布的htaccess行看起来与Zend Framework使用的非常相似。他们有一个“重写配置指南”。

您可以自动导入它们,只需转到所需的站点或应用程序,双击URL重写图标,然后使用导入规则。。。任务列表中的链接。 在该UI中,只需复制/粘贴上面的规则并单击“确定”,它就会将这些规则导入web.config

web.config中的等效项是(当然是在configuration/system.webServer…等中):


<rewrite>  
  <rules>  
    <rule name="Imported Rule 1" stopProcessing="true">  
      <match url="^(.*)$" ignoreCase="false" />  
      <conditions>  
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />  
        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />  
      </conditions>  
      <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="true" />  
    </rule>  
  </rules>  
</rewrite>