1

J'ai essayé d'utiliser wordpress et codeigniter pour une jointure intelligente entre le meilleur CMS et le meilleur framework PHP. En fait, je voulais utiliser codeigniter pour la gestion de la base de données et wordpress pour l'affichage. Mais je voulais utiliser codeigniter à l'intérieur de wordpress. Donc, j'ai un arbre de fichiers comme ça:Appel de réponse Ajax, 404 Introuvable

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

Comment puis-je faire le .htaccess pour couvrir wordpress aussi la fourmi CodeIgniter pas trowing 404 erreur dans jquery appel ajax. Mon actuelle .htaccess fichier wordpress c'est:!

<IfModule mod_rewrite.c> 

RewriteEngine On RewriteBase/ RewriteCond% {REQUEST_FILENAME} -f #RewriteCond% {REQUEST_FILENAME} -d RewriteCond 1 $ ^/CodeIgniter-core/ ! RewriteRule^(. *) $ /index.php/$1 [L]

J'ai également essayé de demander cela aux forums Wordpress Forums et Codeigniter, mais pas de réponse. Je pense que c'est l'enfer d'une règle ou d'une règle de réécriture, mais je ne sais pas ...

+3

« meilleur CMS Saying » et « meilleur framework PHP » est inutile et ne donne rien pour expliquer votre problème. Gardez la question propre et partagez vos sentiments personnels ailleurs, c'est une question technique. – MyGGaN

Répondre

14

J'ai eu ce problème lors de la création d'un fichier de contrôleur que j'appellerais via la méthode jQuery ajax. Ce fichier de contrôleur inclus wp-blog-header.php. Lorsque vous incluez wp-blog-header.php dans un fichier en dehors de WP framework WordPress vérifie le fichier en cours, et s'il ne figure pas dans sa base de données, il renvoie un 404. Le travail consiste à ajouter un en-tête de statut 200 après le wp-blog-header.php.

header("HTTP/1.1 200 OK"); 

Maintenant (jQuery) ajax le fichier retourne correctement sans 404.

+0

Merci! Avait obtenu un 404 dans une demande WP Ajax et cela l'a guéri. – supertrue

+0

Vous êtes une star! –

5

Cela fonctionnait très bien ... ne peut pas vous dire combien de temps je cherchais cette réponse. Je soupçonnais que cela avait à voir avec une erreur d'en-tête parce que Firebug montrait la réponse mais l'en-tête avait un 404. Merci cela m'a fait gagner beaucoup de temps.

BTW J'ai utilisé ce pour fixer le Quick Search plugin by Giulio Ganci

Il suffit d'ouvrir le fichier « search.php » dans le dossier plugin et ajouter

header("HTTP/1.1 200 OK"); 

Juste après la première ligne de code. Lorsque vous avez terminé les premières lignes de code dans ce fichier devrait ressembler à ceci

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


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