.htaccess配置,codeIgniter和facebook php sdk

我必须访问 http://example.com/ABC/some-controller </ code> 。 根据CodeIgniter,您必须遵循 http://example.com/ABC/index.php/some-controller </ code>。 现在我使用 .htaccess </ code>删除index.php。 我面临的问题是,如果我使用.htaccess文件,我的facebook登录无法正常工作,因为不知何故它没有拿起FB设置的GET变量。 </ p>

我的目录列表如下:</ p>

  public_html 
ABC(此目录中的codeigniter文件夹)
applications
system
n .htaccess
index.php
</ code> </ pre>

现在我的.htaccess内容从url中删除index.php:</ p>

   Options -Indexes 
RewriteEngine On
RewriteBase / ABC
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule ^(。*)$ ABC / index.php?/ $ 1 [L]

</ code> </ pre>

在config.php中,我已将uri协议设置为AUTO。
如果我不使用,请注意这里是</ code >在最后一行(.htaccess)中,它不会让我显示没有index.php的页面并抛出错误没有指定文件</ code>。 如果我使用?</ code>那么一切都很好,除了我的facebook登录停止工作,当我在.htaccess文件中添加它时,它会一次又一次地重定向。 每次在get参数中使用新代码。 在我的本地服务器中,一切正常。 (在我的本地服务器的.htaccess文件中,我没有在最后一行使用?</ code>,所以我没有写index.php,也没有在fb登录中遇到问题)。 我想我的fb登录代码是正确的,因为它正在localhost上工作,所以不要在这里发布代码。 请帮我配置我的.htaccess for webserver,以便它也可以使用“get”参数。 我正在使用 Arvix </ strong>网络托管。</ p>
</ div>

展开原文

原文

I have to access http://example.com/ABC/some-controller. As per CodeIgniter you have to follow http://example.com/ABC/index.php/some-controller. Now I am using .htaccess to remove index.php. The problem I am facing is , if I use .htaccess file , my facebook login is not working because somehow it is not picking up the GET variables set by FB.

My directory listing is as follows :

public_html
  ABC  (codeigniter folders inside this directory)
    applications 
    system
    .htaccess
    index.php

Now contents of my .htaccess to remove index.php from url :

Options -Indexes
RewriteEngine On
RewriteBase /ABC
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ABC/index.php?/$1 [L]

In config.php I have set the uri protocol to AUTO. Thing to note here is , if I don't use ? in last line (of .htaccess), it won't let me display page without index.php and throws error No file specified . If I use ? then everything is fine , except , that my facebook login stops working when I add this in .htaccess file, it keeps redirecting again and again . each time with a new code in get parameter. In my localserver everything is working fine. (In my localserver's .htaccess file I am not using ? in last line, so I don't have to write index.php nor I have problem in fb login). I guess code of my fb login is correct as it is working on localhost, so not posting that code here. Please help me out to config my .htaccess for webserver so that it can use "get" parameters also. I am using Arvix web hosting.

php

2个回答



通过切换</ strong>将网络服务器从 Arvix </ strong>修复为 亚马逊AWS </ strong>。</ p>
</ div>

展开原文

原文

Got it fixed by switching the web server from Arvix to Amazon AWS.




除了,当我在.htaccess文件中添加它时我的facebook登录停止工作,它会一次又一次地重定向 。 每次在get参数中使用新代码。</ p>
</ blockquote>

我认为那是因为你的脚本永远不会接收</ em> 代码</ code >参数。</ p>

尝试使用 RewriteRule中的Flag QSA </ code> ,以便传递与传入请求一起发送的(附加)GET参数。</ p>
</ div>

展开原文

原文

except , that my facebook login stops working when I add this in .htaccess file, it keeps redirecting again and again . each time with a new code in get parameter.

I think that's because your script never receives the code parameter.

Try using the Flag QSA in your RewriteRule, so that (additional) GET parameters send with the incoming request are passed on.

duangou2028
duangou2028 too long
7 年多之前 回复
dongxingdu9594
dongxingdu9594 感谢您的回答。 是的,脚本永远不会收到代码参数。 你能否告诉我需要在RewriteRule中添加的确切行,我对链接有点困惑。这就是行:RewriteRule /pages/(.+)/page.php?page=$1 [QSA]。 我应该从现有的目录结构中给出什么名称。 对不起我有点困惑。
7 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问