Gab*_*opa 1 ajax wordpress .htaccess codeigniter http-status-code-404
我尝试使用wordpress和codeigniter在最佳CMS和最佳PHP框架之间进行智能连接.实际上我打算使用codeigniter进行数据库管理和wordpress进行显示.但我想在wordpress中使用codeigniter.所以,我有一个像这样的文件树:
www
- codigniter-core folder
- .htaccess
- wordpress-core folder
- .htaccess
- index.php
Run Code Online (Sandbox Code Playgroud)
我怎么能使wordpress .htaccess也覆盖codeigniter ant而不是jquery ajax调用中的404错误.我目前的wordpress .htaccess文件是:
<IfModule mod_rewrite.c>
Run Code Online (Sandbox Code Playgroud)
RewriteEngine On RewriteBase/RewriteCond%{REQUEST_FILENAME}!-f #RewriteCond%{REQUEST_FILENAME}!-d RewriteCond $ 1!^/codeigniter-core/RewriteRule ^(.*)$ /index.php/$1 [L]
我也试过问这个Wordpress论坛和Codeigniter论坛,但没有答案.我认为这是重写条件或规则的地狱,但我不知道......
Nic*_*son 15
创建一个我将通过jQuery ajax方法调用的控制器文件时遇到了这个问题.该控制器文件包含wp-blog-header.php.
当您在WP框架之外的文件中包含wp-blog-header.php时,WordPress会检查当前文件,如果它不在其数据库中则返回404.解决方法是添加200状态标头在wp-blog-header.php之后.
header("HTTP/1.1 200 OK");
Run Code Online (Sandbox Code Playgroud)
现在(jQuery)文件的ajax在没有404的情况下正确返回.
小智 5
这很有效......不能告诉你我多久都在寻找这个答案.我怀疑这与标题错误有关,因为firebug显示响应但标题有404.谢谢这节省了我很多时间.
BTW我用它来修复Giulio Ganci的快速搜索插件
只需打开插件文件夹中的"search.php"文件并添加即可
header("HTTP/1.1 200 OK");
Run Code Online (Sandbox Code Playgroud)
在第一行代码之后.完成后,此文件中的前几行代码应如下所示
<?php
require('../../../wp-blog-header.php');
header("HTTP/1.1 200 OK");
if (isset($_GET['s']) && trim($_GET['s']) != '') {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6716 次 |
| 最近记录: |