1

最近在我的 CI 项目中设置了 ion_auth。在大多数情况下,一切都运行良好。但是,当用户退出网站时,他们会被重定向到

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 回答