0

对于导航到 link.html 以重定向到 index.php/link/ 的人来说,它是一个简单的重定向,同时仍保持任何查询字符串不变。

下面在 web.config 文件中使用 IIS7 的环境中完美运行。

<rule name="Rewrite for link.html">
    <match url="link.html" />
    <action type="Rewrite" url="index.php/link/" />
</rule>
<rule name="Rewrite CI Index">
    <match url=".*" />
    <conditions>
        <add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|ttf|eot" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="admin.php" negate="true" />
        <add input="{REQUEST_FILENAME}" pattern="index.php" negate="true" />
    </conditions>
    <action type="Rewrite" url="index.php/{R:0}" />
</rule>

我有另一个 IIS 平台,它使用一个类似于 Apache 的 mod_rewrite 的插件

执行上述示例的 RewriteCond / RewriteRule 语法是什么?到目前为止,我所有的猜测都以不同的方式被炸毁了。

这是执行重写 CI 索引的现有 IIRF.ini 文件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

问题是如何让 link.html 的重写以适应这种类似 apache 的语法。

TIA 寻求帮助。

4

1 回答 1

1

只需在 RewriteCond/RewriteRule 块之前添加一个重定向规则:

RedirectRule ^link.html(.*)$ /index.php/link/$1
于 2012-09-29T20:38:29.150 回答