Aller au contenu

Sujets conseillés

Posté (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é par Khleo
Posté

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 !

Posté

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_html

total 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

Posté

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.

Posté

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 !

Posté

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

Veuillez vous connecter pour commenter

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



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