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

Apache Discussion :

[.htaccess] Rediriger /fr vers /toto


Sujet :

Apache

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut [.htaccess] Rediriger /fr vers /toto
    Bonjour,

    Voici mon problème :

    Objectif : Réecrire une url avec la forme :
    www.monsite.com en www.monsite.com/fr/

    en tenant compte du fait que le répertoire de mon site n'est pas :
    /fr/ mais /toto/

    Cela fait longtemps que je cherche, j'ai trouvé des solutions approchantes, mais jamais LA bonne, alors je viens sur ce forum pour tenter d'obtenir de l'aide.

    D'avance merci pour votre aide.

  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
    Pourquoi ne pas renommer toto en fr ?

    Ca ne devrait pourtant pas être bien compliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^fr(.*) /toto$1 [L,QSA]
    Après, il faut bien entendu que le code HTML de tes pages utilises /fr.

    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

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Bonjour Mac,

    Incroyable, super réactivité !!
    Tu m'avais déjà répondu il y a pas mal de temps déjà sur ce forum, merci beaucoup, je teste ta solution de suite.

  4. #4
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Désolé Mac,

    Cela ne fonctionne pas, je fais le test sur un serveur de DEV en local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule ^fr(.*) /attente/$1 [L,QSA]
    la page d'attente n'est pas affichée quand quand je suis à la racine de ma machine.

  5. #5
    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 bpdelavega Voir le message
    Cela ne fonctionne pas
    C'est un peu vague comme description du problème, un peu plus de détail sur ce qu'il se passe, s'il te plaît.

    Citation Envoyé par bpdelavega Voir le message
    la page d'attente n'est pas affichée quand quand je suis à la racine de ma machine.
    Ca me paraît normal : on réécrit /fr... en /attente/..., donc forcément, si tu demandes juste / (la racine), ce n'est pas réécrit. Ou alors je n'ai rien compris

    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

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Désolé MAC,
    Je dois mettre en place une redirection sur un site en production, bien entendu je ne peux pas m'amuser à tester sur la prod, donc c'est pour cette raison que je fais un test sur un serveur de développement.

    Donc voici les éléments :
    J'ai mon url c'est : dev.monsite.com
    Je veux, pour des raisons de référencement, faire une "redirection" vers
    dev.monsite.com/fr/
    Mon application se trouve dans /toto/ et non dans /fr/ car je ne peux changer le nom du répertoire pour diverses raison.

    Je ne sais pas si j'ai été assez clair ?

  7. #7
    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
    Dans ce cas, il faut ajouter à ce que j'ai déjà donné la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^$ /fr [R,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

  8. #8
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Bonsoir MAC,

    Encore merci pour ta réponse, les directives semblent fonctionner.
    Par contre, mon application utilise une variable qui permet de "fixer" l'url de base : je m'explique, dans le Backend de l'application, on définie le baseUrl qui permet alors à l'application de reconstruire ses propres url réécrite.

    Lorsque l'url en /fr/ correspondait au répertoire physique /fr/ les pages fonctionnent sans souci. Par contre, chose étonnante, avec tes nouvelles directives, le site s'affiche normalement, les images, le CSS etc, mais par contre, il s'agit uniquement de la page 404 personnalisée de l'application.

    Donc, grâce à toi, je touche quasiment au but :
    mon URL est bien réecrite de la façon dont je le souhaitais, le répertoire physique correspond bien à celui que je voulais, le site s'affiche quasiment normalement, mais il va constamment sur la page 404 de l'application.

    Je précise que j'ai mis à jour le baseUrl de l'application afin qu'il corresponde à www.monsite.com/fr/ et en effet le site s'affiche normalement, il n'y a que le problème du fait qu'il ne pointe que sur la page 404 de l'application.

    Je te remet le contenu de mon .htaccess, selon tes conseils (à la racine de mon domaine www.monsite.com)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Options FollowSymLinks
    RewriteEngine On
    RewriteRule ^fr(.*) /attente/$1 [L,QSA]
    RewriteRule ^$ /fr/ [R,L]

  9. #9
    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
    Peut-être que l'application utilise baseUrl pour autre chose que renvoyer des URL mais par exemple trouver des fichiers sur le disque. Donc forcément, si baseUrl ne correspond pas au répertoire dans lequel l'application est installée, celle-ci ne trouve pas ses fichiers et plante en 404. C'est une hypothèse mais c'est à vérifier : est-ce que ton application supporte le fait d'être installée dans un répertoire qui n'est pas celui qui figure dans l'URL ?

    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

  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    Mon application s'appelle Magento, je pense qu'elle supporte sans problème.
    Mais tu vois ce qui est bizarre, c'est que généralement quand il y a un problème, les premières choses qui déconnent, sont l'affichage du CSS et des images parfois, alors que là tout fonctionne correctement, et j'ai vérifié dans le code source, il ne vas pas chercher les infos sur une autre URL.
    En tout cas je te remercie vraiment pour ton aide.

    Sinon j'ai une piste :
    http://maglife.co.uk/2009/03/30/runn...ngle-indexphp/
    Mais je ne comprends pas tout, peut-être que ça te parleras à toi ?

  11. #11
    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
    Comment elle marche, cette page 404 custom ? Je veux dire, quand est-elle envoyée et par qui ? C'est Apache qui la gère avec une directive ErrorDocument ou autre chose ? Sinon, as-tu un exemple d'URL qui génère une de ces erreurs 404 ?

    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

  12. #12
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    La page 404 est gérée par l'application, regarde un exemple :

    http://demo.magentocommerce.com/dsfdfds

  13. #13
    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
    Mais à quelle occasion la vois-tu alors que tu ne devrais pas la voir ? (si tu veux envoyer une vraie URL vers ton appli, ce qui serait mieux, et qu'elle n'apparaisse pas sur le forum, envoie-la par MP)

    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

  14. #14
    Membre régulier
    Homme Profil pro
    Ingénieur d'études en développements techniques
    Inscrit en
    Novembre 2005
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en développements techniques
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 244
    Points : 117
    Points
    117
    Par défaut
    MAC,

    Je suis désolé, mon serveur de DEV n'est pas accessible depuis l'extérieur, je t'aurai montré volontiers.

    Concernant l'exemple que je t'ai montré, si tu regardes bien la page de démo que je t'ai envoyé en lien, tu verras que les images, le CSS, tout s'affiche correctement, j'ai exactement la même problématique, par contre, tous mes liens me provoquent une 404.

    Mais bon pour l'instant, je vais arrêter là, et essayer autre chose, je te tiens au courant par MP, encore merci pour ton aide.

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 04/06/2009, 17h11
  2. [.htaccess] Rediriger les .com vers les .org
    Par jeepibmx dans le forum Apache
    Réponses: 20
    Dernier message: 27/03/2009, 09h50
  3. Réponses: 5
    Dernier message: 19/02/2009, 20h20
  4. Réponses: 2
    Dernier message: 30/03/2007, 15h15
  5. [Htaccess] Rediriger vers une page en cas d'erreur 404
    Par Alexandrebox dans le forum Apache
    Réponses: 8
    Dernier message: 12/01/2007, 07h01

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