我有.htaccess的下一个代码,它在Apache
上非常好用RewriteEngine On
RewriteBase /folder
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule index.php.* - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php?id=$1
但是我需要在带有IIS的服务器上运行。你能帮我翻译一下IIS吗?非常感谢。
答案 0 :(得分:1)
如果您正在使用IIS 7,则可以为Microsoft提供的IIS安装URL Rewrite扩展。此扩展还具有导入.htaccess文件的功能。有时,并非所有线路都可以被传送(参见下面的第二行代码)。我们必须做一点调整。复制并粘贴“XML视图”中的结果'导入对话框中的选项卡进入文本编辑器,并将其保存为' web.config'文件。这是你的.htaccess转换:
<rewrite>
<!--This directive was not converted because it is not supported by IIS: RewriteBase /folder.-->
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="index.php.*" 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="None" />
</rule>
<rule name="Imported Rule 2">
<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?id={R:1}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
注意:直接导入结果,尚未调整。