我正在为 CodeIgniter 设置 Haughin 的 Twitter OAuth 库,其中一项要求是将 config.php 中的 uri_protocol 更改为 PATH_INFO,这似乎以所有请求加载主控制器的方式破坏了我的应用程序(例如,导航到http ://dev.myapp.com/login通常会将我带到登录控制器,但它只是显示默认控制器。)
有什么想法会导致这种情况,或者可能是 Apache2 配置搞砸了?
我正在为 CodeIgniter 设置 Haughin 的 Twitter OAuth 库,其中一项要求是将 config.php 中的 uri_protocol 更改为 PATH_INFO,这似乎以所有请求加载主控制器的方式破坏了我的应用程序(例如,导航到http ://dev.myapp.com/login通常会将我带到登录控制器,但它只是显示默认控制器。)
有什么想法会导致这种情况,或者可能是 Apache2 配置搞砸了?
它与 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。