Rediriger une URL vers un nom de dossier qui n'existe pas

Discussion dans 'URL Rewriting et .htaccess' créé par OlivierShop, 27 Janvier 2014.

  1. OlivierShop
    OlivierShop WRInaute discret
    Inscrit:
    20 Janvier 2009
    Messages:
    53
    J'aime reçus:
    0
    Bonjour à tous,

    Je galère un peu pour trouver une solution, j'ai vu/lu pleins de trucs pour trouver une solution mais rien n'y fait...

    Je souhaite ré-écrire des URLs sous forme de dossiers, pour comprendre :

    Avec ce type d'URL : http://www.monsite.com/fichier.php?ref=1
    Devenir : http://www.monsite.com/bleu/

    Mon fichier php existe sur mon site, mais pas le dossier.

    Est ce possible déjà de faire ceci ? et si oui comment ?

    Merci pour votre aide :)
     
  2. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    C'est tout à fait possible, c'est le principe des répertoires virtuels.

    Voici le code correspondant à l'exemple:

    Code:
    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^bleu/$ fichier.php?ref=1 [L]
    Attention toute fois, à cause des répertoires virtuels (ici "bleu") il y aura des soucis pour les ressources internes (css, javascript, images, etc).
    Pour résoudre le problème, il suffit d'ajouter dans chaque page concernée le tag html suivant (juste après <head>):
    Code:
    <base href="http://www.monsite.com/" />
    Autre chose, si vous désirez utiliser un répertoire virtuel qui possède le même nom que votre fichier php cible (dans ce cas-là, nous aurions eu un répertoire virtuel nommé "fichier"), il faut désactiver l'option multiviews:
    Code:
    Options +FollowSymLinks -MultiViews
    Le paramètre FollowSymLinks n'est bien souvent pas nécessaire car déjà inclus de base dans la configuration serveur. Ceci est à placer par exemple avant "RewriteEngine on"
     
  3. OlivierShop
    OlivierShop WRInaute discret
    Inscrit:
    20 Janvier 2009
    Messages:
    53
    J'aime reçus:
    0
    Merci Giustino :)

    J'étais pas très loin, mais je ne savais pas pour la balise BASE;

    Bon par contre j'ai une erreur 404, donc c'est pas encore ça ^^

    Ah moins que mon Wamp soit mal configuré mais mes autres sites fonctionnent bien.

    Une autre astuce ou direction ?

    Merci :)
     
  4. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    Pour quelle url obtenez-vous une erreur 404 ?

    Si c'est pour http://www.monsite.com/bleu c'est normal car la règle spécifie un trailing slash (slash à la fin)
    Si c'est pour http://www.monsite.com/bleu/ ce n'est pas normal. Dans ce cas, postez votre htaccess ici afin d'y jeter un oeil
     
  5. OlivierShop
    OlivierShop WRInaute discret
    Inscrit:
    20 Janvier 2009
    Messages:
    53
    J'aime reçus:
    0
    Merci :)

    Donc erreur 404 pour les deux URL !

    Mon HTACCESS
    Code:
    #--------------------------------------------------
    # Répertoire : racine du site
    #--------------------------------------------------
    
    # Le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks
    
    # Activation du module de réécriture d'URL :
    RewriteEngine on
    RewriteBase /
    
    
    #--------------------------------------------------
    # Règles de réécriture d'URL :
    #--------------------------------------------------
    
    # Header : Liste
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^bleu/$                   /mxv3/professionnels.php?type=1 [L]
    
    
    #--------------------------------------------------
    # Gestion des erreurs 400 et 500
    #--------------------------------------------------
    ErrorDocument 401 /mxv3/401
    ErrorDocument 403 /mxv3/403
    ErrorDocument 404 /mxv3/404
    ErrorDocument 406 /mxv3/406
    ErrorDocument 500 /mxv3/500
    ErrorDocument 503 /mxv3/503
    Merci pour ton aide :)
     
  6. Giustino
    Giustino WRInaute discret
    Inscrit:
    19 Novembre 2011
    Messages:
    141
    J'aime reçus:
    0
    On est toujours bien d'accord que le dossier "bleu" est virtuel et n'existe pas physiquement ?

    A priori, je ne vois rien d'anormal.
    La page d'erreur 404 (/mxv3/404) s'affiche correctement ?

    Je vois peut-être une possibilité d'erreur mais sans être totalement convaincu que ça changera tout.
    Il faut remplacer cette ligne
    Code:
    RewriteRule ^bleu/$                   /mxv3/professionnels.php?type=1 [L]
    par ceci (sans le slash avant mxv3)
    Code:
    RewriteRule ^bleu/$                   mxv3/professionnels.php?type=1 [L]
    L'url directe sur http://www.site.com/mxv3/professionnels.php?type=1 fonctionne bien ? Pas d'erreur 404 ?
     
  7. OlivierShop
    OlivierShop WRInaute discret
    Inscrit:
    20 Janvier 2009
    Messages:
    53
    J'aime reçus:
    0
    Oui le dossier "bleu" est bien virtuel, du moins je n'ai rien créer physiquement et virtuellement (ou un peuso alias etc.)

    L'URL direct (en Php) fonctionne très bien j'ai toutes mes infos :)

    Etrange...
     
  8. OlivierShop
    OlivierShop WRInaute discret
    Inscrit:
    20 Janvier 2009
    Messages:
    53
    J'aime reçus:
    0
    Re bonjour

    Bon cela fonctionne très bien :)
    Je ne sais pas pourquoi, mais j'ai killer mon HTACESS, et je l'ai recréé et BAM! ça marche oO
    Peut être un caractère "caché" qui devait embrouiller la chose...

    Au final, ceci fonctionne bien :

    Code:
    #--------------------------------------------------
    # Répertoire : racine du site
    #--------------------------------------------------
    
    # Le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks
    
    # Activation du module de réécriture d'URL :
    RewriteEngine on
    RewriteBase /
    
    
    #--------------------------------------------------
    # Règles de réécriture d'URL :
    #--------------------------------------------------
    
    # Header : Liste
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^bleu/$                   /mxv3/professionnels.php?type=1 [L]
    
    
    #--------------------------------------------------
    # Gestion des erreurs 400 et 500
    #--------------------------------------------------
    ErrorDocument 401 /mxv3/401
    ErrorDocument 403 /mxv3/403
    ErrorDocument 404 /mxv3/404
    ErrorDocument 406 /mxv3/406
    ErrorDocument 500 /mxv3/500
    ErrorDocument 503 /mxv3/503
    
    Un grand MERCI à toi Giustino :)
     
Chargement...
Similar Threads - Rediriger nom dossier Forum Date
Rediriger un Nom de Domaine vers un sous-dossier Noms de domaine et référencement 23 Septembre 2011
Acheter plusieurs noms de domaines et rediriger vers un même NDD est il préjudiciable ? Noms de domaine et référencement 17 Février 2014
Rediriger un nom de domaine vers une autre url mais pas un sous-domaine URL Rewriting et .htaccess 17 Octobre 2013
Rediriger nom de domaine sans hébergement URL Rewriting et .htaccess 13 Juillet 2013
rediriger nom de domaine vers boutique ebay Netlinking, backlinks, liens et redirections 20 Octobre 2012
Rediriger un nom de domaine Gandi vers un répertoire de 1&1 Administration d'un site Web 17 Septembre 2012
Rediriger plusieurs nom de domaine avec et sans www URL Rewriting et .htaccess 19 Avril 2011
Recherche information pour rediriger un nom de domaine, efficament ! :) Référencement Google 28 Janvier 2011
Rediriger un nom de domaine sur une page d'un autre site URL Rewriting et .htaccess 30 Août 2010
Rediriger un nom de domaine complet Noms de domaine et référencement 15 Avril 2010