Petit question sur serveur apache : le slash en fin d'url ?

Petit question sur serveur apache : le slash en fin d'url ? - Windows & Software

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)

Reply

Marsh Posté le 17-08-2002 à 09:26:52   

Reply

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

Reply

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

Reply

Marsh Posté le 17-08-2002 à 09:56:33    

bin ca dépends..ton /repertoire/ c quoi ? un alias ? un virtualhost ?

Reply

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 ....

Reply

Marsh Posté le 17-08-2002 à 10:11:58    

je crois qu'il faut créer des alias pour ça
 
/repertoire = c:/repertoire/dossier/


---------------
Je suis moi juste moi et pas le produit de mon orgueil et de ma vanité
Reply

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
 

/repertoire = c:/repertoire/dossier/






 
 :heink: sous linux  :D  

Reply

Marsh Posté le 17-08-2002 à 10:44:56    

Je me suis assez fait avoir avec ce truc, j'arrive :D. 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 :D


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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)

Reply

Marsh Posté le 17-08-2002 à 11:57:03    

Kadreg a la bonne solution je confirme.

Reply

Marsh Posté le 17-08-2002 à 11:57:03   

Reply

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
RewriteBase    /                              //Le répertoire de base où la directive s'applique
RewriteCond    %{REQUEST_FILENAME}  -d        //Condition pour récrire l'URL : le fichier demandé doit être un répertoire
RewriteRule    ^(.+[^/])$           $1/ [R]   //Expression régulière pour récrire l'URL


 
Il faudra sans doute charger le module mod_rewrite avec :  

LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c


Message édité par gm_superstar le 17-08-2002 à 12:14:58
Reply

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 ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

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/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed