Ajax 响应调用,404 Not Found
Posted
技术标签:
【中文标题】Ajax 响应调用,404 Not Found【英文标题】:Ajax response call, 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 框架”是不必要的,也没有任何帮助解释你的问题。保持问题干净并在其他地方分享您的个人感受,这是一个技术问题。 【参考方案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']) != '')
【讨论】:
以上是关于Ajax 响应调用,404 Not Found的主要内容,如果未能解决你的问题,请参考以下文章
GMAIL API 历史端点仅在 Android 上返回 404 not found 响应代码
加载资源失败:服务器响应状态为 404 (Not Found) angular js + ionic
命令引发异常:NotFound: 404 Not Found (error code: 0): Interaction is unknown (你已经响应了交互)