Aller au contenu

Erreur 404 sur file_get_contents flux RSS


neolus

Sujets conseillés

Bonsoir à tous,

J'ai un dédié sous release 2 OVH avec un site principal et un sous-domaine pour son blog.

Sur la page d'accueil je souhaite afficher les commentaires du blog et lorsque je fait un file_get_contents(url_rss) ca me retourne une erreur 404.

La fonction qui me retourne une 404:

file_get_contents("http://blog.rapidojeux.com/feed/");

alors que si je tape l'adresse directement dans mon navigateur cela marche bien.

Je pense que j'ai un problème de configuration car dans le fichier error.log d'Apache, j'ai les messages suivants :

[Sat Feb 28 00:00:04 2009] [error] [client xxx] PHP Notice: A feed could not be found at http://www.rapidojeux.com/wp/index.php?feed=rss2 in /home/r$
[Sat Feb 28 00:00:05 2009] [error] [client xxx] File does not exist: /home/ovh/www/wp, referer: http://www.rapidojeux.com/wp/index.php?feed=rss2
[Sat Feb 28 00:00:07 2009] [error] [client xxx] File does not exist: /home/ovh/www/wp, referer: http://www.rapidojeux.com/wp/index.php?feed=rss2
[Sat Feb 28 00:00:07 2009] [error] [client xxx] File does not exist: /home/ovh/www/comments

En fait ca ne pointe pas vers le repertoire de mon site mais vers le repertoire d'ovh (et ensuite c'est sûr qu'il ne trouve pas mon repertoire wordpress).

Merci à ceux qui pourraient m'aider !

Lien vers le commentaire
Partager sur d’autres sites

Petit up.

Bon en fait ça me le fait sur n'importe quelle page de mon site que j'essaie d'appeler via la fonction file_get_content.

Apache essaie de chercher le fichier dans le repertoire home/ovh/www/...

Cela doit donc venir du htaccess dont je poste les premieres lignes ci-dessous

Code:

Options -Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /~repdemonsite

Un petit coup de main please :(

Lien vers le commentaire
Partager sur d’autres sites

En appelant le fichier de la même manière au départ du serveur du Hub, j'ai bien le flux rss.

Fais un essai avec ceci :

<?php

$content=file_get_contents("http://blog.rapidojeux.com/feed/");
print $content;

?>

Chez moi, ça passe ! Essaie aussi en renommant le fichier .htaccess en .htaccess.orig, pour faire un essai.

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

_AT_Dan,

J'ai testé ton code (j'avais le même avec un echo au lieu d'un print et des simples quotes au lieu des guillemets). Ca ne donne rien.

Idem si je renomme le htaccess du sous-domaine.

_AT_Jean-Luc

Si je mets une url externe ca marche, sinon ca ne marche pas (j'ai essayé avec une url qui part de la racine, c'est à dire l'url d'un jeu).

Je me demande si ce n'est pas un problème de parametrage dans

- php.ini

- apache (mod rewrite ?)

J'ai cherché sur internet mais n'ai rien trouvé...

[EDIT] Je crois avoir trouvé. En fait, il s'agit de la cionfiguration Apache.

J'ai mis en place sur mon dédié OVH l'ip fail-over. J'ai donc une ip pour mon site en FR et une ip pour mon site en anglais. Ces 2 ip pointent vers le repertoire de mon site.

Ensuite, j'ai l'ip du serveur dédié pour lequel le répertoire racine du document est /home/ovh/www/

En modifiant ce chemin (je l'ai fait pointer vers /home/ovh/www/images), je vois que dans mon error_log, il va chercher dans le nouveau chemin.

Faut donc que je tester en repointant vers mon bon repertoire... Je vous tiens au courant.

Modifié par neolus
Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Re-bonjour à tous,

Bon ca ne marche pas mieux. Je pense que ca vient de mon vhost mais je ne veux pas tout casser. Alors si je peux avoir votre avis avant, ce serait mieux je pense.

J'ai posté mon vhost sur le forum ovh : vhost

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Bonjour,

Un pas de plus dans l'analyse de mon problème.

Si je rentre l'ip fail-over directement dans l'adresse du fichier a appeler, cela marche.

Si je mets le nom de domaine alors Apache considère la requete comme venant de l'ip du dédié et non de l'ip fail-over

file_get_contents(&quot;http://xx.xx.xx.xx/test2.html") --> marche

file_get_contents(&quot;http://www.rapidojeux.com/test2.html") --> ne marche pas car apache veut aller chercher le fichier dans home/ovh/www/ au lieu de home/rapidoje/www

J'ai beau essayer de modifier les virtual hosts, je ne trouve pas d'où cela peut-il venir. Pourquoi Apache considère t'il la requête comme venant de l'ip dédié et non pas de l'ip fail-over ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...