Petit question sur serveur apache : le slash en fin d'url ? - Windows & Software
Marsh Posté le 17-08-2002 à 09:39:16
quand tu dit tes users, tu veut parler du public_html ?
dans ce cas modifie ce parametre dans ton httpd.conf en virant/enlevant le slash de fin
Marsh Posté le 17-08-2002 à 09:54:09
heu non pas spécialement, juste les gens qui se connectent a mon site quoi ...
au lieu de taper www.monsite.com/repertoire/ j'aimerais qu'ils tapent www.monsite.com/repertoire
Marsh Posté le 17-08-2002 à 09:56:33
bin ca dépends..ton /repertoire/ c quoi ? un alias ? un virtualhost ?
Marsh Posté le 17-08-2002 à 10:08:42
hem ... excuses je suis assez novice en la matiere
ben mes rep c'est des repertoires tout simples, qui se trouvent dans /var/www/html/ style ./info/ ./forum/ et autres ....
Marsh Posté le 17-08-2002 à 10:11:58
je crois qu'il faut créer des alias pour ça
/repertoire = crepertoire/dossier/
Marsh Posté le 17-08-2002 à 10:18:09
Gnarlik a écrit a écrit : je crois qu'il faut créer des alias pour ça
|
sous linux
Marsh Posté le 17-08-2002 à 10:44:56
Je me suis assez fait avoir avec ce truc, j'arrive . Je prend donc l'exemple de mon PC :
En fait, lorsque l'on demande un truc du genre (ou toto est un répertoire)
http://rincevent.dyndns.org/toto
Le serveur ne peux pas le servir directement donc renvoie une redirection. Cette redirection est calculée à partir des information du httpd.conf.
Il commence par prendre le nom de serveur défini dans la directive ServerName. Chez moi, elle vaut rincevent.dyndns.org
Ensuite il concatène le nom de répertoire auquel on tente d'acceder. Donc /toto
Puis il rajoute un / à la fin.
Résultat, apache renvoie une redirection vers http://rincevent.dyndns.org/toto/
(regardez la barre d'addresse en haut, le / final est apparu).
Donc, il faut que la directive ServerName soit configurée avec un nom de machine correcte pour les clients. Par exemple pendant un moment je l'avait configuré à localhost. Si un client tentait d'accéder à http://rincevent.dyndns.org/toto
il était renvoyé à http://localhost/toto/ par la règle que je viens d'expliquer.
En hopant que ça t'helpera
Marsh Posté le 17-08-2002 à 11:00:54
cai assez technique mais je vais essayer d'en faire usage !
(des que j'ai fini mon install)
Marsh Posté le 17-08-2002 à 12:12:46
La solution de kadreg marche bien dans le cas d'une conf assez simple. Mais si on a des hôtes virtuels, ça se gâte.
Il faut alors utiliser le module mod_rewrite. Quelques liens :
http://www.alistapart.com/stories/slashforward/
http://www.iee.et.tu-dresden.de/do [...] ilingSlash
L'idée est d'ajouter les lignes suivantes dans le fichier de conf d'Apache (ou dans un .htaccess) :
RewriteEngine on //Pour activer la récriture des URL |
Il faudra sans doute charger le module mod_rewrite avec :
LoadModule rewrite_module modules/mod_rewrite.so |
Marsh Posté le 17-08-2002 à 12:15:40
gm_superstar a écrit a écrit : La solution de kadreg marche bien dans le cas d'une conf assez simple. Mais si on a des hôtes virtuels, ça se gâte. |
Ah bon ? J'ai des vhosts sur rincevent et la directive ServerName peut être appliquée sur chaque vhost. Je ne vois pas quel serait le problème. Tu as des exemples ?
Marsh Posté le 17-08-2002 à 12:40:03
Non, en fait ma référence aux vhost est foireuse. Efface !
L'intérêt ici est de ne pas avoir de redirection. Si tu tapes http://localhost/toto tu obtiens http://localhost/toto/ et pas http://mon.domaine.com/toto/
Marsh Posté le 17-08-2002 à 09:26:52
pourquoi parfois est il indispensable et parfois non ?
que faire pour que les user ne soient pas obligés de le mettre ?
(systeme : linux mdk 8.2)