繁体   English   中英

ion_auth在HTTP位置添加了不必要的index.php

[英]ion_auth adds unnecessary index.php in HTTP location

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

http:// website /index.php/auth/login

而不是预期的

http:// website / auth / login

位置。 登录后,这会导致登录时出现问题

http:// website /index.php/ website

这是一个无效的位置。

服务器是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>

您是否从此配置项中删除了字符串index.php (在application / config / config.php中)?

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

应该

$config['index_page'] = '';

重定向和uri生成基于此值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM