【问题标题】:Changing uri_protocol to PATH_INFO breaks my CodeIgniter app?将 uri_protocol 更改为 PATH_INFO 会破坏我的 CodeIgniter 应用程序?
【发布时间】:2010-12-14 05:30:01
【问题描述】:

我正在为 CodeIgniter 设置 Haughin 的 Twitter OAuth 库,其中一项要求是将 config.php 中的 uri_protocol 更改为 PATH_INFO,这似乎破坏了我的应用程序,因为所有请求都加载了 home 控制器(例如。导航到http://dev.myapp.com/login 通常会将我带到登录控制器,但它只是显示默认控制器。)

任何想法会导致这种情况,或者可能是 Apache2 配置搞砸了?

【问题讨论】:

    标签: codeigniter apache2 pathinfo


    【解决方案1】:

    它与 URL 重写有关。检查您的 .htaccess 文件,看看您是否有正确的重写规则。使用 PATH_INFO 时,这对我有用。

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ /index.php/$1 [L]
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        ErrorDocument 404 /index.php
    </IfModule>
    

    以上内容无需任何修改即可为您工作。如果您在一个文件夹中托管,可以说像 http://myserver.com/my_app/,然后将 /index.php 更改为 /my_app/index。 php 在这两个地方。

    【讨论】:

    • 谢谢!我正在使用 CodeIgniter Wiki 中的重写设置,并使用你的修复它。不幸的是,Haughin 的 OAuth 库仍然损坏。当我授予访问权限时,它会将我直接重定向回授予访问权限页面。
    • 更新:由于缺少库,OAuth 仍然失败。感谢 Shivaas 的回答,非常感谢。
    • 没问题。很高兴我能帮上忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    相关资源
    最近更新 更多