Google Adwords 和 CodeIgniter GET 变量回调 URL

Posted

技术标签:

【中文标题】Google Adwords 和 CodeIgniter GET 变量回调 URL【英文标题】:Google Adwords and CodeIgniter GET Variable Callback URL 【发布时间】:2011-03-22 15:52:44 【问题描述】:

我正在尝试通过使用 CodeIgniter 开发的网站来实现 Google Adwords,我相信当他们将 GET 变量添加到 URL 时它需要“200”状态代码。

我收到来自 Google 的电子邮件,说它在访问我的 URL 时收到 404 状态代码。当我尝试将 ?test=test 添加到 URL 的末尾时,它实际上返回了 404:

通过我的谷歌搜索,我找到了这个有用的链接:

http://codeigniter.com/forums/viewthread/154153/#746115

哪些状态我需要更改我的配置以包含这些:

$config['uri_protocol']    = "PATH_INFO";
$config['enable_query_strings'] = TRUE; 

在我的 uri_protocol 设置为“REQUEST_URI”之前。我已经用 ?test=test 进行了测试,它确实有效!但是现在我的所有链接都不起作用了,当我将它切换到 PATH_INFO 时,我需要做什么来修复我的链接?

现在我正在使用 Mod Rewrite 来缩短 URL,以便地址类似于 mydomain.com/blog、mydomain.com/about,并且我的控制器只指向适当的视图。我是否应该更改我的 uri_protocol,如果可以,如何包含 GET 变量而不是 404?

任何建议都会有所帮助,谢谢!

UDPATE:这是我的 htaccess 文件:

RewriteEngine on

RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

【问题讨论】:

【参考方案1】:

如果你使用 CodeIgniter 2,你可以这样做:

$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = FALSE;

【讨论】:

感谢您的回复,mydomain.com/?test=test 现在返回“遇到错误 - 您提交的 URI 包含不允许的字符。”可惜根据seoconsultants.com/tools/headers,状态码还是400@ 我允许的 uri 字符配置如下所示:"$config['permitted_uri_chars'] = '?a-z 0-9~%.:_\-';"我试图添加一个“?”在这个开头。 好消息是链接正在使用此配置 好的,非常感谢您的帮助,我想我有足够的时间在这里运行 @Pete:帮助调试:尝试在error/general.php 文件中添加print_r($_SERVER)。 (我认为这是正确的文件...)【参考方案2】:

您需要执行以下操作 1- $config['enable_query_strings'] = TRUE;

2- $config['permitted_uri_chars'] = 'a-z 0-9~%.:_-\?=&';

并删除“?”从您的 htaccess 文件中。

3- RewriteRule ^(.*)$ index.php/$1 [QSA,L]

【讨论】:

以上是关于Google Adwords 和 CodeIgniter GET 变量回调 URL的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics,adwords和网上商店

与链接到 Google Adwords 帐户的 Google Analytics API 相比,Google Adwords API 报告可以获得多少?

Google Analytics 跨域转化跟踪和归因于 AdWords 广告系列

使用 python 获取“成本”google adwords api

Bigquery 和 Google Adwords(添加):国家/地区标签

每天可以对 Google AdWords 和 Analytics 进行多少 API 调用?