Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > Hébergement > OVH
OVH Forum de support pour vos questions techniques sur votre hébergement OVH
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2007, 08h58   #1
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
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 :
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
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 17h49   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 311
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 311
Points : 8 592
Points : 8 592
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 20h45   #3
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
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 :
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
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 10h30   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 311
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 311
Points : 8 592
Points : 8 592
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 18h30   #5
Membre actif
 
Avatar de webmatrix
 
Inscription : décembre 2005
Messages : 160
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Madagascar

Informations forums :
Inscription : décembre 2005
Messages : 160
Points : 199
Points : 199
Envoyer un message via Skype™ à webmatrix
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?
webmatrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 20h54   #6
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
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
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2007, 21h01   #7
Membre actif
 
Avatar de webmatrix
 
Inscription : décembre 2005
Messages : 160
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Madagascar

Informations forums :
Inscription : décembre 2005
Messages : 160
Points : 199
Points : 199
Envoyer un message via Skype™ à webmatrix
Tu peux poster un exemple de lien bidon? juste pour voir ton explication.
webmatrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 07h36   #8
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
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
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 09h43   #9
Membre actif
 
Avatar de webmatrix
 
Inscription : décembre 2005
Messages : 160
Détails du profil
Informations personnelles :
Âge : 27
Localisation : Madagascar

Informations forums :
Inscription : décembre 2005
Messages : 160
Points : 199
Points : 199
Envoyer un message via Skype™ à webmatrix
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
webmatrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2007, 10h24   #10
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 311
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 311
Points : 8 592
Points : 8 592
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 :
    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 :
    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]
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2007, 01h04   #11
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Merci pour toutes ces informations, je vais tester tout ça
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h24.


 
 
 
 
Partenaires

Hébergement Web