2011-03-22 91 views
3

我正在嘗試使用CodeIgniter開發的網站實現Google Adwords,我相信當它們向URL添加GET變量時,需要「200」狀態碼。Google Adwords和CodeIgniter GET變量回調URL

我一直在收到來自Google的電子郵件,說它收到一個404狀態代碼,當它到我的網址。 ?當我嘗試添加測試=測試我的網址的結尾,它實際是返回404: enter image description here

通過我的谷歌搜索,我發現這個有用的鏈接:

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縮短網址,以便地址類似於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] 

回答

2

如果使用的是笨2,你可以這樣做:

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

謝謝你的響應,mydomain.com/?test=test現在返回「錯誤而遇到 - 的URI你提交了不允許的字符。「不幸的是,狀態碼仍然是400根據http://www.seoconsultants.com/tools/headers – 2011-03-22 16:01:24

+0

我允許的uri字符配置如下所示:「$ config ['allowed_uri_chars'] ='?az 0-9〜% 。:_ \ - ';」我試圖添加一個「?」在這個開始。 – 2011-03-22 16:05:24

+0

@Pete:不要加'?'到allowed_uri_chars。 – 2011-03-22 16:07:04

0

你需要做以下 1- $配置['enable_query_strings '] = TRUE;

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

並刪除「?」從你的htaccess文件。 (。*)

3-重寫規則^ $的index.php/$ 1 [QSA,L]