2

これを機能させるために、私はこれを数時間取り組んでいます。私は、正常に動作しているApacheサーバー上にあるCodeIgniter Webサイトを持っています。index.php を非表示にするために、URL に Apache URL Rewriter を使用していました。何らかの理由で、これを IIS で動作させることができません。私はそれをグーグルで検索し、いくつかの異なるオプションを思いつきましたが、いくつかは機能しなかったか、ルートディレクトリにリダイレクトされました.

URLを次のように書き換えようとしています http://domain.com/v2.3.1/index.php/test

web.config以下は、ファイルからの私のルールです。

 <rewrite>
        <rules>
             <rule name="Clean URL" stopProcessing="true">
                <match url="^(.*)$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>

現在の構成では、ルート ディレクトリに戻ります。私のウェブサイトは、以下の例の URL にあります。

http://domain/v2.3.1- これにより、メイン ページが表示されます

でも

http://domain/v2.3.1/test- に戻りhttp://domainますが、URL は変更されませんhttp://domain/v2.3.1/test

4

1 に答える 1

0

ルールに変更はありません。間違ったディレクトリにルールがありました。Web サイトのルートはドメイン ルートではなく、サブ ディレクトリにありました。IIS ではweb.config、URL を書き換えたいのと同じディレクトリにある必要があります。

数時間頭をぶつけた後、私はついにそれを理解しました。

于 2013-01-16T04:02:35.457 に答える