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>

Apache の mod_rewrite のように機能するプラグインを使用する別の IIS プラットフォームがあります。

上記の例のようなことを行うための RewriteCond / RewriteRule 構文は何ですか? これまでの私の推測はすべて、さまざまな方法で爆破されました。

以下は、Rewrite CI Index を正常に実行する既存の IIRF.ini ファイルです。

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

問題は、link.html の Rewrite をこの apache のような構文に適合させる方法です。

TIA にお問い合わせください。

4

1 に答える 1

1

RewriteCond/RewriteRule ブロックの前にリダイレクト ルールを追加するだけです。

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