1

最近、CIプロジェクトでion_authを設定しました。ほとんどの部分ですべてがうまく機能しています。ただし、ユーザーがWebサイトからログアウトすると、次の場所にリダイレクトされます。

http://ウェブサイト/index.php/auth/login

期待される代わりに

http://ウェブサイト/ auth / login

位置。ログイン後に指定された場所は次のとおりであるため、これによりサインイン時に問題が発生します

http://ウェブサイト/index.php/ウェブサイト

これは無効な場所です。

サーバーはIIS7であり、Apacheではありません。サイトのルートにあるweb.configで以下の構成を使用します。

<system.webServer>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="index.php" />
        </files>
    </defaultDocument> 
    <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^(.*)" ignoreCase="false" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" ignoreCase="false" />
                    <add input="{QUERY_STRING}" pattern="(\&lt;|%3C).*script.*(\>|%3E)" />
                    <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                    <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                </conditions>
                <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
            </rule>
            <rule name="Imported Rule 2">
                <match url="(.*)" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    <add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />
                    <add input="{URL}" pattern="(/component/)" ignoreCase="false" negate="true" />
                    <add input="{URL}" pattern="(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$" />
                </conditions>
                <action type="Rewrite" url="index.php" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
4

1 に答える 1

3

index.phpこの構成アイテム(application / config / config.php内)から文字列を削除しましたか?

$config['index_page'] = 'index.php';

する必要があります

$config['index_page'] = '';

リダイレクトとURI生成は、この値に基づいています。

于 2012-07-24T18:51:34.900 に答える