誰かが 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 にお問い合わせください。