2010-03-06 78 views
1

我試圖使用wordpress和codeigniter進行最佳CMS和最佳PHP框架之間的智能連接。其實我打算使用codeigniter進行數據庫managemnent和wordpress的顯示。但我想在wordpress中使用codeigniter。所以,我有一個文件樹這樣的:Ajax響應調用,404 Not Found

www 
- codigniter-core folder 
    - .htaccess 
- wordpress-core folder 
- .htaccess 
- index.php 

我怎樣才能使WordPress的的.htaccess還覆蓋笨螞蟻不trowing jQuery的AJAX調用404錯誤。我現在的WordPress的.htaccess文件是:!

<IfModule mod_rewrite.c> 

RewriteEngine敘述在 RewriteBase/ 的RewriteCond%{} REQUEST_FILENAME -f #RewriteCond%{} REQUEST_FILENAME -d 1的RewriteCond $^/笨核心/ ! RewriteRule ^(。*)$ /index.php/$1 [L]

我也試過去問這個問題Wordpress Forums和Codeigniter論壇,但沒有答案。我認爲這是一個重寫條件或規則的地獄,但我不知道...

+3

說「最好的不育系」和「最好的PHP框架」是不必要的,給予什麼幫助解釋您的問題。保持問題清晰並在別處分享您的個人感受,這是一個技術問題。 – MyGGaN

回答

14

當我創建一個控制器文件,我會通過jQuery的ajax方法調用時,我有這個問題。這個控制器文件包括wp-blog-header.php。

當您將wp-blog-header.php包含在WP框架外的文件中時,WordPress會檢查當前文件,如果它不在其數據庫中,則返回404。解決方法是添加在wp-blog-header.php之後的200狀態標題。

header("HTTP/1.1 200 OK"); 

現在(jQuery的)AJAX的文件中正確返回沒有404

+0

謝謝!獲得了WP Ajax請求中的404,並將其解決。 – supertrue

+0

你是明星! –

5

這個偉大的工作......不能告訴你我是如何長時間尋找這個答案。我懷疑這與一個頭錯誤,因爲螢火蟲顯示響應,但標題有404。謝謝這節省了我很多時間。

BTW我用這個來修復Quick Search plugin by Giulio Ganci

只要打開「的search.php」文件中的插件文件夾和代碼的第一行後右鍵添加

header("HTTP/1.1 200 OK"); 

。當你完成的代碼中的第幾行這個文件應該是這樣的

<?php 
    require('../../../wp-blog-header.php'); 
    header("HTTP/1.1 200 OK"); 


    if (isset($_GET['s']) && trim($_GET['s']) != '') {