IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OVH Discussion :

Soucis avec la réécriture d'URL


Sujet :

OVH

  1. #1
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut Soucis avec la réécriture d'URL
    Bonjour

    Depuis quelques jours, je bataille pour faire fonctionner la réécriture d'URL pour mon site perso hébergé chez OVH.

    Je dispose d'un fichier .htaccess au même niveau que cgi-bin et www ayant comme contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    # $Id: .htaccess,v 1.1 2007/11/22 14:00:00 olivier Exp $
    #
    # Don't forget chmod 644
    #
    
    # Protects this file from public view
    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>
    
    # Defines the differents HTTP errors
    ErrorDocument 302 /cgi-bin/error.cgi?302
    ErrorDocument 401 /cgi-bin/error.cgi?401
    ErrorDocument 403 /cgi-bin/error.cgi?403
    ErrorDocument 404 /cgi-bin/error.cgi?404
    ErrorDocument 500 /cgi-bin/error.cgi?500
    
    # The rewrite addresses
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /www
    
    # This website is temporarily down for Maintenance.
    RewriteCond %{REQUEST_URI} !/cgi-bin/error.cgi$
    RewriteCond %{REQUEST_URI} !/cgi-bin/redirect.cgi$
    RewriteCond %{REQUEST_URI} !/tcsh.css$
    RewriteCond %{REQUEST_URI} !/img/back.gif$
    RewriteCond %{REQUEST_URI} !/img/obsd.gif$
    RewriteCond %{REMOTE_ADDR} !^0\.0\.0\.0
    RewriteRule (.*) http://www.oregnier.org/$ [R=302,L]
    
    # The rewrite addresses / Homepage
    RewriteRule ^openbsd-42.html$ /cgi-bin/redirect.cgi?page=openbsd-42 [L]
    RewriteRule ^developpez-homepage.html$ /cgi-bin/redirect.cgi?page=developpez [L]
    RewriteRule ^personal-space-on-developpez.html$ /cgi-bin/redirect.cgi?page=oregnier [L]
    RewriteRule ^bsd-heading-on-developpez.html$ /cgi-bin/redirect.cgi?page=bsd [L]
    RewriteRule ^openbsd-homepage.html$ /cgi-bin/redirect.cgi?page=openbsd [L]
    RewriteRule ^a-colorful-shell-with-openbsd.html$ /cgi-bin/redirect.cgi?page=obsd-colors-shell [L]
    RewriteRule ^write-my-own-man-page-with-openbsd.html$ /cgi-bin/redirect.cgi?page=obsd-manual-page [L]
    RewriteRule ^making-a-bootable-openbsd-41-installation-cdrom.html$ /cgi-bin/redirect.cgi?page=obsd-cdrom-41 [L]
    RewriteRule ^leave-me-your-feedback.html$ /cgi-bin/redirect.cgi?page=leave-me-your-feedback [L]
    RewriteRule ^pgp-keyservers.html$ /cgi-bin/redirect.cgi?page=pgp-keyservers [L]
    J'obtiens une erreur 404

    Qu'en pensez-vous ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Olivier Regnier Voir le message
    J'obtiens une erreur 404
    Super, mais avec quelle URL ?

    A mon avis, un .htaccess au niveau des répertoires www et cg-bin ne fonctionnent pas car il n'est pas dans un document root. Déplace-le dans www et/ou dans cgi-bin pour voir.

  3. #3
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    J'ai placé le .htaccess au même niveau que cgi-bin et www pour protéger mon répertoire cgi-bin lorsque le site est en maintenance (redirection 302) autrement on peut avoir accès à mes scripts juste en saisissant son nom dans la barre d'adresse du navigateur. J'ai suivi le conseil d'un technicien de chez OVH.

    Toutes les adresses réécritées débouchent sur une erreur 404, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^openbsd-42.html$ /cgi-bin/redirect.cgi?page=openbsd-42 [L]
    Ai-je été plus clair ?

    Merci

    PS: si je place le .htaccess dans www, le répertoire cgi-bin n'est plus protégé lorsque la redirection 302 est en place

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Comme je disais, vu que le répertoire qui contient www et cgi-bin n'est dans pas le document root, j'ai peur que ton .htaccess ne soit pas pris en compte. Donc copie-le dans cgi-bin et dans www. Je ne vois pas d'autre solution.

  5. #5
    Membre actif Avatar de webmatrix
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2005
    Messages : 165
    Points : 226
    Points
    226
    Par défaut
    Pour aider _MAC_ et te faire comprendre, il faut mettre ton fichier .htaccess dans le répertoire /www .
    Pour faire du URL rewriting faut pas mettre dans d'autre répertoire que celle de /www

    le serveur te dit que c'est erreur 404, pourquoi insister?

  6. #6
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Si tu as bien lu mon post, je mentionne la possibilité de placer une redirection 302. Si je place le code correspondant dans le .htaccess se trouvant dans les www mes scripts CGI sont toujours accessibles

    Mais le problème de la réécriture d'URL est résolu

    Merci

  7. #7
    Membre actif Avatar de webmatrix
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2005
    Messages : 165
    Points : 226
    Points
    226
    Par défaut
    Tu peux poster un exemple de lien bidon? juste pour voir ton explication.

  8. #8
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Citation Envoyé par webmatrix Voir le message
    Tu peux poster un exemple de lien bidon? juste pour voir ton explication.
    Placer un lien ne sert à rien, pourquoi ? La redirection va fonctionner mais si tu connais par exemple le nom du script CGI de mon formulaire, tu as juste à le saisir dans la barre d'adresse pour y avoir accès tandis que si tu passes par un lien pour y accèder, la redirection agira

  9. #9
    Membre actif Avatar de webmatrix
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Décembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2005
    Messages : 165
    Points : 226
    Points
    226
    Par défaut
    Bon, essaye de metre dans le fichier .htaccess de ton www/ une restriction qui mène vers ton script cgi (repertoire)
    ex: http://www.tonsite.tld/cgi/ dans ton .htaccesss

    PS: je ne m'en souviens pas comment écrire la réstriction

  10. #10
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Je ne suis toujours pas sûr d'avoir bien compris mais bon... Je te propose de faire la chose suivante :
    • Mettre un fichier .htaccess dans cgi-bin pour protéger tous tes scripts sauf /cgi-bin/error.cgi et /cgi-bin/redirect.cgi. Les autres scripts ne sont accessibles que localement. Ca donnerait un truc comme ça (mais à vérifier) :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      RewriteEngine On
      RewriteCond %{REMOTE_ADDR} !^0\.0\.0\.0
      RewriteRule (.*) http://www.oregnier.org/$ [R=302,L]
      
      <Files error.cgi>
      Allow From All
      Satisfy Any
      </Files>
      
      <Files redirect.cgi>
      Allow From All
      Satisfy Any
      </Files>
    • Mettre dans www un fichier .htaccess contenant toutes tes autres règles :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      # Defines the differents HTTP errors
      ErrorDocument 302 /cgi-bin/error.cgi?302
      ErrorDocument 401 /cgi-bin/error.cgi?401
      ErrorDocument 403 /cgi-bin/error.cgi?403
      ErrorDocument 404 /cgi-bin/error.cgi?404
      ErrorDocument 500 /cgi-bin/error.cgi?500
      
      # The rewrite addresses
      Options +FollowSymlinks
      RewriteEngine on
      RewriteBase /www
      
      # This website is temporarily down for Maintenance.
      RewriteCond %{REQUEST_URI} !/tcsh.css$
      RewriteCond %{REQUEST_URI} !/img/back.gif$
      RewriteCond %{REQUEST_URI} !/img/obsd.gif$
      RewriteCond %{REMOTE_ADDR} !^0\.0\.0\.0
      RewriteRule (.*) http://www.oregnier.org/$ [R=302,L]
      
      # The rewrite addresses / Homepage
      RewriteRule ^openbsd-42.html$ /cgi-bin/redirect.cgi?page=openbsd-42 [L]
      RewriteRule ^developpez-homepage.html$ /cgi-bin/redirect.cgi?page=developpez [L]
      RewriteRule ^personal-space-on-developpez.html$ /cgi-bin/redirect.cgi?page=oregnier [L]
      RewriteRule ^bsd-heading-on-developpez.html$ /cgi-bin/redirect.cgi?page=bsd [L]
      RewriteRule ^openbsd-homepage.html$ /cgi-bin/redirect.cgi?page=openbsd [L]
      RewriteRule ^a-colorful-shell-with-openbsd.html$ /cgi-bin/redirect.cgi?page=obsd-colors-shell [L]
      RewriteRule ^write-my-own-man-page-with-openbsd.html$ /cgi-bin/redirect.cgi?page=obsd-manual-page [L]
      RewriteRule ^making-a-bootable-openbsd-41-installation-cdrom.html$ /cgi-bin/redirect.cgi?page=obsd-cdrom-41 [L]
      RewriteRule ^leave-me-your-feedback.html$ /cgi-bin/redirect.cgi?page=leave-me-your-feedback [L]
      RewriteRule ^pgp-keyservers.html$ /cgi-bin/redirect.cgi?page=pgp-keyservers [L]

  11. #11
    Expert éminent

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Points : 6 686
    Points
    6 686
    Par défaut
    Merci pour toutes ces informations, je vais tester tout ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb avec la réécriture d'URL
    Par elekaj34 dans le forum Apache
    Réponses: 1
    Dernier message: 04/02/2012, 22h46
  2. Réponses: 3
    Dernier message: 29/01/2009, 11h45
  3. Souci avec ma reecriture d'url
    Par gtraxx dans le forum Apache
    Réponses: 4
    Dernier message: 08/10/2008, 10h49
  4. quelques soucis avec l'url rewriting
    Par romain_paris dans le forum Apache
    Réponses: 10
    Dernier message: 17/09/2006, 17h51
  5. La réécriture d'URL avec Apache
    Par agencep dans le forum Langage
    Réponses: 3
    Dernier message: 25/04/2006, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo