Apache 什么';IIS是否等同于这些重写规则?
我一直使用apache,所以我对IIS完全陌生。在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的人来说,它只
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>