Page 1 sur 2

reconnaissance d'un .htaccess (plus précisément pour de l'ur

Posté : 27 oct. 2007, 11:24
par jojolapine
Bonjour à tous,
Après avoir eu quelques problèmes pour installer un serveur sous (k)ubunutu... j'y suis finallement parvenu...
J'arrive à utiliser des scripts php basiques...
Maintenant j'ai essayer de réinstaller un site qui utilise l'url rewriting... et patatra... ça ne fonctionne pas.
Alors je vous indiques les symptomes:
premièrement mon .htaccess tout bête (simplifié)

Code : Tout sélectionner

RewriteEngine on RewriteRule ^merci\.html$ /devweb/regrave2/index.php?p=contact&dest=merci [L]
ne semble pas être chargé, car lorsque je fait une erreur de syntaxe volontaire, je n'ai pas d'erreur serveur...
Ensuite, j'ai essayer de rajouter ces deux lignes à la fin de mon ficheir de configuration d'apache, et là si je fait une erreur de syntaxe j'ai droit à une erreur, mais si tout est normal, la réécriture n'a aucun effet...
Les chemins ne sont peut-être pas bon (faut il ajouter /home/..../... ?)
Pour info j'ai bien les lignes de configurations qui devraient me permettre d'utiliser un .htaccess:

Code : Tout sélectionner

# # AccessFileName: The name of the file to look for in each directory # for additional configuration directives. See also the AllowOverride # directive. # AccessFileName .htaccess # # The following lines prevent .htaccess and .htpasswd files from being # viewed by Web clients. # <Files ~ "^\.ht"> Order allow,deny Deny from all </Files>
(à noter que la protection sur les .ht* fonctionne)
Donc bon si vous avez quelques idées quand à mon problème... je suis preneur!! :)
Merci d'avance!

Posté : 27 oct. 2007, 13:01
par Sékiltoyai
Tu dois activer l'URL rewriting dans la conf du serveur. Fouille un peu la doc d'apache par exemple : http://httpd.apache.org/docs/2.2/mod/mo ... loadmodule

Posté : 27 oct. 2007, 18:25
par jojolapine
Bonsoir,
Alors je n'ai pas mon ordi sous la main,mais je croit me souvenir que j'ai vérifié les extensions chargées et que le mod rewrite faisait parti de ces dernières.. :k

Posté : 27 oct. 2007, 18:37
par Sékiltoyai
A la limite essaye avec un test simple, genre à la racine du doc_root, avec une redirection dans le même dossier…

Posté : 29 oct. 2007, 18:00
par jojolapine
Bonjour,
alors j'ai revérfié, quand je tappe

Code : Tout sélectionner

apache2 -B #ou je ne sais plus éxactement le nom de la commande
L'extension rewrite est bien chargée (en "mode" shared si vous voulez savoir)
J'ai même vérifier dans le dossier /etc/apache2/mod_enabled (ou un dossier qui veut dire la même chose... -dsl pour toutes ses imprécision, mais mon accès internet est toujours HS, et donc je fait ça de mémoire dans un cyber-) et un fichier pour le mod rewrite et bien présent qui charge un .so correspondant.
Mais je vais reformuler mon soucis, en fait avant de faire marcher la réécriture, la première chose à faire serait de réussir à faire reconnaitre le .htaccess, ce qui ne semble pas être le cas, puisque comme dit précédemment une erreur de syntaxe dans le .htaccess ne provoque pas d'erreur 500...

Posté : 29 oct. 2007, 18:51
par Sékiltoyai
Un problème dans le nom du .htaccess, dans les chmod ?
C'est bien le bon dossier ?
C'est con comme questions mais l'erreur peut être toute conne.

Posté : 30 oct. 2007, 12:57
par jojolapine
Bonjour,
pour ce qui est du nom il s'appel bien .htaccess,
pour les droits, je ne croit pas qu'il en ait beaucoup... ça change quelque chose?
Pour ce qui est des dossiers, c'est peut-être là que ça pêche....
j'ai suivi ce tutoriel: http://doc.ubuntu-fr.org/lamp pour installer la solution LAMP, et à un moment il dit:
Lien symbolique

La première solution consiste à créer dans le répertoire /var/www un lien symbolique vers votre répertoire dans votre /home qui vous servira au quotidien à positionner et modifier vos pages.

Voici le code à lancer dans votre terminal :

Code : Tout sélectionner

cd /var/www sudo ln -s /home/votre_identifiant/répertoire_pour_votre_site mon_site
Voilà, si vous accédez à votre http://localhost vous pouvez voir un nouveau répertoire qui porte le nom « mon_site » et qui pointe vers « /home/votre_identifiant/répertoire_pour_votre_site ».
Donc c'est ce que j'ai fait... alors est-ce que celà peut avoir une incidence sur mon problème?

Posté : 30 oct. 2007, 13:18
par Ripat
As-tu activé la lecture des htaccess avec la directive AllowOverride All?

Posté : 30 oct. 2007, 14:02
par Sékiltoyai
pour les droits, je ne croit pas qu'il en ait beaucoup... ça change quelque chose?
Il faut que apache ait les droits de lecture du dossier et du .htaccess, et si possible aussi le droit d'exécution sur le dossier, pour pouvoir y entrer…
Pour ce qui est des dossiers, c'est peut-être là que ça pêche....
j'ai suivi ce tutoriel: http://doc.ubuntu-fr.org/lamp pour installer la solution LAMP, et à un moment il dit:
Lien symbolique

La première solution consiste à créer dans le répertoire /var/www un lien symbolique vers votre répertoire dans votre /home qui vous servira au quotidien à positionner et modifier vos pages.

Voici le code à lancer dans votre terminal :

Code : Tout sélectionner

cd /var/www sudo ln -s /home/votre_identifiant/répertoire_pour_votre_site mon_site
Voilà, si vous accédez à votre http://localhost vous pouvez voir un nouveau répertoire qui porte le nom « mon_site » et qui pointe vers « /home/votre_identifiant/répertoire_pour_votre_site ».
Donc c'est ce que j'ai fait... alors est-ce que celà peut avoir une incidence sur mon problème?
C'est un peu moche les lins symboliques, et ca fait rajouter de la conf, en l'occurence un FollowSymlink dans les options de dossier. Mais si tu veux le garder, renseigne toi sur FollowSymlink. Sinon, il faut vérifier que ton lien est correct. Tu vas dans le doc_root, tu fais "ls -al" et tu vérifies que tu as bien un fichier mon_site qui pointe vers le répertoire que tu as indiqué.

Si ca ne marche pas avec les symlink, tu peux essayer plutôt avec un "alias nom_de_l_alias chemin_du_site" dans la conf httpd. C'est le moyen normal pour créer un lien vers un dossier qui n'est à priori pas dans l'arborescence web.

Posté : 31 oct. 2007, 11:42
par jojolapine
Donc en résumé, mieu vaut que je fasse celà avec un alias?
Bon je vais essayer de me débrouiller tout seul pour le faire, mais avant celà, pourriez-vous m'indiquer comment "annuler" le lien symbolique que j'ai créé? (désolé je suis pas encore une flêche sous linux... :-* )

Posté : 31 oct. 2007, 11:46
par Sékiltoyai
bah avec rm :-/

Posté : 31 oct. 2007, 11:49
par jojolapine
Oui je suis bien conscient qu'il faut que je supprime le liens symbolique, mais il est où?
si j'ai fait la commande:

Code : Tout sélectionner

cd /var/www sudo ln -s /home/votre_identifiant/répertoire_pour_votre_site mon_site
je fait rm quoi?[/code]

Posté : 31 oct. 2007, 11:55
par Sékiltoyai
bah rm /var/www/mon_site , tu fais un rm sur le lien symbolique…

Posté : 31 oct. 2007, 19:12
par Ripat
As-tu activé la lecture des htaccess avec la directive AllowOverride All?

Posté : 01 nov. 2007, 00:19
par jojolapine
Désolé de ne pas avoir répondu à ta question...
Alors non en effet il ne semble pas que j'ai fait quoi que se soit avec AllowOverride
Mais euh j'ai beau lire le liens sur le site d'apache, je vois pas du tout ce qu'il faut que j'indique... :?