2010-03-06 82 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']) != '') {