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 :

URL Rewriting avec mod_rewrite


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 138
    Par défaut URL Rewriting avec mod_rewrite
    Bonjour,

    L'URL actuelle de mon site (local) est comme suit :
    http://www.monsite.com/UI/Home

    Cependant, j'aimerai que l'url affichée et utilisée par les utilisateurs soit :
    http://www.monsite.com/Home

    J'ai fait une recherche sur l'URL rewriting et j'ai trouvé ce site :
    http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

    J'ai créé un fichier .htaccess que j'ai mis à la racine de mon site (www.monsite.com), puis j'ai écrit la règle suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule   ^/Home/(.*)  /UI/Home/$1
    Mais ça ne marche malheureusement pas. Je doit certainement avoir une erreur quelque part... Comment d'ailleurs savoir s'il n'y a pas d'erreur dans le fichier .htaccess d'un site ? (log sur le serveur ou autre ?)

    Merci par avance !

  2. #2
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    Quand tu dis "ça ne marche pas", quelle est l'erreur que tu rencontres ?

  3. #3
    Membre confirmé Avatar de Doudy
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 108
    Par défaut
    Bonjour,

    J'ai un problème très similaire. ( effacez mon post si je dois créer un sujet séparé )

    Chemin de la racine de mon site: /home/mondomaine/www/site
    En fait, mon site n'est pas directement dans www, mais dans le sous-dossier site

    J'ai essayé de mettre dans .htaccess de www :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Rewrite to www
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\mon_domaine.com\.com [NC]
    RewriteRule (.*) http://www.mon_domaine.com/$1 [QSA,R=301,L]
     
    RedirectMatch permanent ^/(index\.html|index\.php)?$ http://www.mon_domaine.com/site/
    losqu'on tape: mon_domaine.com => il s'affiche: http://www.mon_domaine.com et le portail du site s'affiche, donc là pas de problème,
    mais lorsqu’on veut afficher les autres pages du sites, il s'affiche :
    http://mon_domaine.com/site/la_page_demandée.php

    au lieu de :

    http://www.mon_domaine.com/la_page_demandée.php

  4. #4
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    J'imagine que "site" désigne les dossiers contenant tout ton site ?
    Dans ce cas, le fichier htaccess doit en faire partie.

    Essaie ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^mon_domaine.com
    RewriteRule (.*) http://www.mon_domaine.com/$1 [R=301,L]
     
    RewriteCond %{THE_REQUEST} \/index.php\ HTTP [NC]
    RewriteRule (.*)index.php$ /$1 [R=301,L]

  5. #5
    Membre confirmé Avatar de Doudy
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 108
    Par défaut
    Merci de la réponse.

    Oui, "site" désigne LE dossier contenant tout mon site, y compris le index.php.

    Mais lorsqu'on tape:
    http://mon_domaine.com
    on arrive sur www (qui ne contient que .htaccess )
    puis on est redirigé sur le dossier "site" grâce au .htaccess de redirection que j'ai mentionné plus haut

    Dans le .htaccess du dossier "site", j'ai déjà ça , les lignes sont à ajouter à quel endroit dans ce fichier ?:

    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
    SetEnv PHP_VER 5
    SetEnv REGISTER_GLOBALS 0
    # Deny access to config.php
    <Files config.php>
    order allow,deny
    deny from all
    </Files>
     
    # CMSMS Rewriting
    # Set assume mod_rewrite to true in config.php and clear CMSMS cache
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /site
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ index.php?page=$1 [QSA]
    # END CMSMS
    # END Rewrite rules

  6. #6
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    Ton htaccess doit être au même niveau que index.php.

    Rajoute simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RewriteCond %{HTTP_HOST} ^mon_domaine.com
    RewriteRule (.*) http://www.mon_domaine.com/$1 [R=301,L]
     
    RewriteCond %{THE_REQUEST} \/index.php\ HTTP [NC]
    RewriteRule (.*)index.php$ /$1 [R=301,L]
    avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteCond %{REQUEST_FILENAME} !-f
    Du coup, si tu déplaces le htaccess, vérifie que cette ligne ne pose pas de problème (en enlevant "site") :

Discussions similaires

  1. [URL Rewriting] avec titres textuels
    Par dl_jarod dans le forum Apache
    Réponses: 13
    Dernier message: 23/01/2008, 14h13
  2. url rewriting avec tomcat en standalone
    Par julien20vt dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 18/01/2008, 13h59
  3. URL Rewriting avec lettres
    Par Alexandrebox dans le forum Apache
    Réponses: 7
    Dernier message: 22/11/2007, 13h22
  4. Si vous avez des questions sur Apache, HTAccess, URL rewriting avec Apache, etc
    Par Marc Lussac dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 28/08/2007, 19h09
  5. [URLRewriting] URL Rewrite avec Language
    Par Prosis dans le forum Apache
    Réponses: 15
    Dernier message: 28/02/2007, 19h28

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