【问题标题】:Ajax response call, 404 Not FoundAjax 响应调用,404 Not Found
【发布时间】:2011-01-24 12:10:13
【问题描述】:

我尝试使用 wordpress 和 codeigniter 在最好的 CMS 和最好的 PHP 框架之间进行智能连接。实际上,我打算使用 codeigniter 进行数据库管理,使用 wordpress 进行显示。但我想在 wordpress 中使用 codeigniter。所以,我有一个像这样的文件树:

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

我怎样才能让 wordpress .htaccess 也覆盖在 jquery ajax 调用中的 codeigniter ant 不引发 404 错误。我当前的 wordpress .htaccess 文件是:

<IfModule mod_rewrite.c>

重写引擎开启 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^/codeigniter-core/ 重写规则 ^(.*)$ /index.php/$1 [L]

我也尝试向Wordpress Forums 和 Codeigniter 论坛提问,但没有得到答复。我认为这是一个重写条件或规则的地狱,但我不知道......

【问题讨论】:

  • 说“最好的 CMS”和“最好的 PHP 框架”是不必要的,也没有任何帮助解释你的问题。保持问题干净并在其他地方分享您的个人感受,这是一个技术问题。

标签: ajax wordpress .htaccess codeigniter http-status-code-404


【解决方案1】:

我在创建一个通过 jQuery ajax 方法调用的控制器文件时遇到了这个问题。此控制器文件包含 wp-blog-header.php。

当您在 WP 框架之外的文件中包含 wp-blog-header.php 时,WordPress 会检查当前文件,如果它不在其数据库中,则返回 404。解决方法是添加一个wp-blog-header.php 之后的 200 状态标头。

header("HTTP/1.1 200 OK");

现在 (jQuery) ajax 文件正确返回,没有 404。

【讨论】:

  • 谢谢!在 WP Ajax 请求中收到 404,这解决了它。
【解决方案2】:

这很好用......无法告诉你我寻找这个答案有多久了。我怀疑这与标头错误有关,因为萤火虫显示了响应,但标头有 404。谢谢这为我节省了很多时间。

顺便说一句,我用它来修复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']) != '') {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2014-01-25
    • 2015-01-09
    • 1970-01-01
    相关资源
    最近更新 更多