我必须访问http://example.com/ABC/some-controller
. 根据 CodeIgniter,您必须遵循http://example.com/ABC/index.php/some-controller
。现在我正在使用.htaccess
删除 index.php。我面临的问题是,如果我使用 .htaccess 文件,我的 facebook 登录将无法正常工作,因为它没有获取 FB 设置的 GET 变量。
我的目录列表如下:
public_html
ABC (codeigniter folders inside this directory)
applications
system
.htaccess
index.php
现在我的 .htaccess 内容从 url 中删除 index.php :
Options -Indexes
RewriteEngine On
RewriteBase /ABC
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ABC/index.php?/$1 [L]
在 config.php 中,我将 uri 协议设置为 AUTO。这里要注意的是,如果我不在?
最后一行(.htaccess)中使用,它不会让我显示没有 index.php 的页面并抛出错误No file specified
。如果我使用?
,那么一切都很好,除了当我在 .htaccess 文件中添加它时我的 facebook 登录停止工作,它会一次又一次地重定向。每次在 get 参数中都有一个新代码。在我的本地服务器中,一切正常。(在我的本地服务器的 .htaccess 文件中,我没有?
在最后一行使用,所以我不必编写 index.php 也不必在 fb 登录时遇到问题)。我猜我的 fb 登录代码是正确的,因为它在 localhost 上工作,所以不要在这里发布该代码。请帮我为网络服务器配置我的 .htaccess,以便它也可以使用“get”参数。我在用Arvix网络托管。