Bonjour à tous,

Je rencontre actuellement un souci pour la mise en ligne de mon site développé grâce au tuto "Développez un site de A à Z".
J'ai posté mon site en dossiers rangés comme dans le tuto, avec un .htaccess à la racine avec les dossiers webroot, core, model, view, controller,etc..., l'index.php dans le dossier webroot avec le second .htaccess.
Le serveur (hébergement mutualisé chez 1and1) me renvoie une erreur 500.
Je ne comprends pas cette erreur même si il me semble que cela viendrait des .htaccess. Malheureuseusement je ne m'y connais pas vraiment en .htaccess.
J'ai essayé différentes méthodes, comme mettre le contenu du dossier webroot (dont le fichier index.php) à la racine ou bien créer un fichier index.php qui renvoie au fichier index.php de webroot, tout en virant dans les deux cas les .htaccess. J'arrive à afficher ma page d'acceuil (en faisant quelques bidouilles quand même) mais mon projet complet ne semble pas se charger(liens vers les autres pages ne fonctionnent pas, model avec base de donnée ne se charge pas, etc...)
J'ai essayé de trouver une réponse dans le forum sans succées. Si jamais quelqu'un pourrait m'aider à comprendre le problème, voir m'indiquer un lien d'un post qui résoudrait mon problème, je suis preneur. Merci de votre lecture.

Contenu de mes .htaccess:
racine:

RewriteEngine On
RewriteRule (.*) webroot/$1 [L]

dans le dossier webroot:

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

17 réponses


Bonsoir,
La ré-écritured'url est activé sur votre hébergement ?

Bonsoir ,
Assures toi aussi de la version de php que te donne one and one ça peut venir de la !

Bonjour,

Merci de vos réponses. Après vérifications, l'url rewriting est bien activé sur l'hébergement. La version de php est censée être la plus récente également.
J'ai fais quelques recherches et il semblait manquer des lignes dans les .htaccess, indispensable sur 1and1 que j'ai rajouté mais sans succées.
Cela donne ça

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule (.*) webroot/$1 [L]
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]

Toujours cette même erreur serveur 500 avec ces détails:
Module IISRewriteModule_1and1
Notification MapRequestHandler
Handler ExtensionlessUrlHandler-Integrated-4.0
Error Code 0x80070002
Failed Request Tracing Log Directory faultRequestLogPath

Censé être laplus récente ? comment le sais tu ? tu as afficher les infos php sur ta page ??
Si oui donne ta version de php et on verra si c'est bien à jour !
Il arrive souvent qu'avec des hébergeur comme1and1 ou ovh, tu ais besoinde ui dire que tu veux une version plus récente de php.

Donc, sur leur FAQ, il est dit que leurs serveurs window sont sur la version la plus récente de php mais en affichant les infos php, il est indiqué que c'est la version 5.3.5.
Quel version je devrais choisir?

vu la date du tuto ça devrait passé. Vu comme ça je dirait ça vien de l'htaccess. Si tu as un compte premium télécharge les sources de grafikart et testes les. Si tu trouves les même soucis c'est que ça vient d'autre chose.

C'est ce que j'ai fais, le problème est le même. Toujours la même erreur 500 en retour.

Il y a peut etre mOyen de dire quEl version de php utilider dans le hraccess... Mon hebergeur me le permet.

oui Kewai selon leshébergeur tu peux mais visiblement d'après AlexPsyke c'est bon.
Dit tu peux peut etre nous filer l'url ?

Oui, logiquement la version php ne pose pas de problème. L'adresse du site est www.volarela.fr. Pour le moment ça devrait vous afficher l'erreur 500.

moi j'ai une 40 perso ! ^^

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

t'as vérifier les droit de tesdossiers et fichier ?

Oui on tentait quelques trucs avec mon collègue. Oui droits passés en 777 au cas où (de base xxx). Retour à l'erreur 500 maintenant. Le problème semble bien venir du htaccess. Maintenant on se demande si cela ne viendrait pas de chez l'hébergement 1and1 qui ne gérerait pas la config du site (point de vue htaccess,etc...)

De ce que je comprend ça vient du rewrite module tu as bien regarder la doc 1and1 sur le reritting dans ton htaccess ?

de ce que j'ai lu il faut un slashe / devant index.php déjà
comme ça /index.php
et tu essaye la même avec webroot si tu vois que ça merde toujours

Je ne retrouve plus le lien vers la FAQ de 1and1 sur le rewriting mais c'est assez léger et je l'ai appliqué en long en large et en travers ça n'a rien donné. Quant à ta soluce, le "/" n'apporte rien sauf avant webroot, où cette fois cela donne une erreur 403, mais les permissions sont censées être totalement ouverte. Il y a peut être une configuration au niveau de l'espace client de 1and1 à faire, je ne sais pas. Mon collègue attend une réponse de leur part. On verra bien.

Bonjour,

J'ai réussi à résoudre mon problème en modifiant un fichier web.config de l'hébergeur et mon .htaccess. Mais je me trouve face à un autre soucis où là je n'ai aucune piste de reflexion.
Ma page d'acceuil s'affiche mais les liens vers les autres pages ne fonctionnent pas. En cliquant dessus, cela n'amène à rien. En ecrivant l'adresse dans l'url, j'ai la même erreur serveur qu'au départ. En vérifiant l'état du lien, il ne contient que les slugs et pas la base de l'url, accessible grâce à la classe Router. Pour rappel, les liens sont codés de cette manière :

<a href="<?php echo Router::url('pages/view/id') ;?>">Contact</a>

mais le Routeur::url ne semble pas être pris en compte. Je pense que l'intégralitée de l'application n'est pas chargée mais pour quelle raison?
Pour info, la constante BASE_URL défini dans l'index.php fonctionne.

define('BASE_URL', dirname(dirname($_SERVER['SCRIPT_NAME'])));

Donc le lien vers la page d'accueil.

Quel pourrait être la bonne méthode pour tracker l'erreur et la régler? Merci pour l'aide. Au besoin j'ouvrirai un autre topic.

Je t'invite à lire ce topic qui pourrait t'aider. http://www.grafikart.fr/forum/topics/11802