Khleo Posté 5 Mai 2011 Posté 5 Mai 2011 (modifié) Bonjour, J'ai un léger problème avec mon URL rewriting. je souhaiterai rediriger http://mondomaine.com/nom vers http://mondomaine.com/page.php?p=nom Ça fonctionnait très bien en local, mais depuis que je suis sur un serveur de test debian 6, ça ne fonctionne plus. <VirtualHost *:80> ServerAdmin postmaster_AT_test1.com ServerName www.user.com ServerAlias user.com DocumentRoot /home/user/public_html/ <Directory /home/user/public_html/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /home/user/logs/error.log LogLevel warn CustomLog /home/user/logs/access.log combined ServerSignature Off </VirtualHost> J'ai activé "a2enmod rewrite" Mon .htaccess : # Activation du module de réécriture d'URL :RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ page.php?p=$1 [QSA,L] Lorsque j'affiche http://mondomaine.com/nom, j'obtient l'erreur suivante, alors que le fichier page.php existe. Not Found The requested URL /home/user/public_html/page.php was not found on this server. Merci Modifié 5 Mai 2011 par Khleo
Dan Posté 5 Mai 2011 Posté 5 Mai 2011 Es-tu certain que le fichier page.php existe dans /home/user/public_html et est lisible par Apache ? Vérifie aussi les permissions des répertoires intermédiaires ! Parce que ta redirection se fait bien vu qu'Apache cherche ce fichier mais ne le trouve pas !
Khleo Posté 5 Mai 2011 Auteur Posté 5 Mai 2011 Es-tu certain que le fichier page.php existe dans /home/user/public_html et est lisible par Apache ? Vérifie aussi les permissions des répertoires intermédiaires ! Parce que ta redirection se fait bien vu qu'Apache cherche ce fichier mais ne le trouve pas ! Oui page.php se trouve bien dans le dossier avec les droits www-data : # ls -l /home/user/public_htmltotal 180 [...] -rw-r--r-- 1 www-data www-data 2214 1 mai 22:57 page.php [...] Comment je fais pour vérifier les répertoires intermédiaires ? Merci
Dan Posté 5 Mai 2011 Posté 5 Mai 2011 Comment je fais pour vérifier les répertoires intermédiaires ? Et tu comptes gérer le serveur ? ls -ld /home /home/user /home/user/public_html Sinon, tu appelles directement l'URL page.php?p=nom dans ton navigateur, pour vérifier.
Khleo Posté 5 Mai 2011 Auteur Posté 5 Mai 2011 Sinon, tu appelles directement l'URL page.php?p=nom dans ton navigateur, pour vérifier. Oui, la page s'affiche normalement. Ne va t'il pas chercher la page dans http://192.168.1.17/~user/home/user/public_html/page.php ? Merci
Dan Posté 6 Mai 2011 Posté 6 Mai 2011 Avec l'IP 192.168.1.17 cela ne peut fonctionner qu'en local vu que cette classe d'IP n'est pas routable ! Pour que la réécriture fonctionne comme il faut, il faut que $_SERVER['DOCUMENT_ROOT'] soit défini... donc une url en ~user n'aura pas cette variable mise comme il se doit !
Khleo Posté 6 Mai 2011 Auteur Posté 6 Mai 2011 Avec l'IP 192.168.1.17 cela ne peut fonctionner qu'en local vu que cette classe d'IP n'est pas routable ! Oui, je me doute bien c'était pour montrer l'exemple de l'url Pour que la réécriture fonctionne comme il faut, il faut que $_SERVER['DOCUMENT_ROOT'] soit défini... donc une url en ~user n'aura pas cette variable mise comme il se doit ! Ok, je re-testerais quand je serai avec un nom de domaine Merci
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant