1

我必须访问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网络托管。

4

2 回答 2

0

除了,当我在 .htaccess 文件中添加它时,我的 facebook 登录停止工作,它会一次又一次地重定向。每次在 get 参数中都有一个新代码。

我认为那是因为您的脚本从不接收参数code

尝试在 RewriteRule 中使用标志QSA,以便传递与传入请求一起发送的(附加)GET 参数。

于 2013-06-18T11:33:03.067 回答
0

通过将 Web 服务器从Arvix切换Amazon AWS来修复它。

于 2013-11-21T19:58:41.807 回答