URL rewriting avec Htaccess qui ne fonctionne pas

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sff, 1 Novembre 2016.

Tags:
  1. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Bonjour,

    sur mon site je souhaite transformer les url du type : monsite.com/?page=mapage vers une url comme ceci : monsite.com/mapage.html

    J'ai pour cela crée un fichier htaccess que j'ai mis à la racine de mon site avec ceci à l'intérieur :
    Code:
    Options +FollowSymlinks
     
    RewriteEngine On
     
    RewriteRule ^([a-zA-Z0-9]*)\.html$   index.php?page=$1 [L]
    Malheureusement cela ne fonctionne pas du tout et me ramène en permanence vers une page 404.

    Pouvez-vous m'aider ?

    Merci d'avance
     
  2. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 485
    J'aime reçus:
    28
    Bonjour Sff

    "mapage" ne peut contenir que des lettres ou chiffres ?

    Les voyelles ne sont jamais accentuées ?

    Pas de caractères autres que lettres ou chiffres ?

    Si c'est le cas => Problème de regexp.

    Respectueusement.
     
  3. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Oui mapage ne contient uniquement que des lettres et de chiffres.
     
  4. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 485
    J'aime reçus:
    28
    Bonjour Monsieur

    Et... Un + au lieu de * ?

    Sinon, problème de serveur web ?

    Il faut : "AllowOverride On" dans /etc/httpd/httpd.conf

    ( Ou dans le fichier de virtual host ).

    Respectueusement.
     
  5. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Ca ne fonctionne pas mieux. Je suis chez Hostinger pour info
     
  6. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 485
    J'aime reçus:
    28
    Bonjour Monsieur

    Regarder le log de Apache.

    Hostinger mutualisé ?

    Au lieu de index.php, mettre toute l'url ?

    Respectivement.

    Jean François Ortolo
     
  7. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
  8. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Re: URL rewriting : des mots interdit ?

    Bon c'est bon, il semblerait que le problème venait de Hostinger.

    Aujourd'hui cela fonctionne avec ce code :
    Code:
    Options +FollowSymlinks
    RewriteEngine On
     
    RewriteRule ^([-a-z0-9]*)\.html$  index.php?page=$1 [L]
    Mais une chose est bizarre, j'ai veux avoir 2 url comme ceci : privacy-policy.html

    et

    terms-and-conditions.html

    Mais les mots conditions et policy posent problème, pourquoi ?

    Si j'utilise polici et condition sans le s cela fonctionne.

    Ce sont des mots interdit pour la réecriture d'url ?

    Merci d'avance
     
  9. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 485
    J'aime reçus:
    28
    Rebond

    Toujours la même chose : Il faut un tiret ( - ), à la fin de la regexp ( [ -] )

    Et puis boudiou, pourquoi * plutôt que + ?

    Respectueusement.
     
  10. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Ok merci beaucoup pour l'aide, en effet c'était le tiret qu'il manquait.

    Sinon j'ai une autre question, je souhaite également transformer une url de ce genre ;

    monsite.com/?do=fr

    en ceci :

    fr.monsite.com

    J'ai mis ceci dans le htaccess

    Code:
    RewriteCond %{QUERY_STRING} ^do=([a-z]+)$ 
    RewriteRule ^ http://%1.monsite.com [R=301,L]
    Cela fonctionne, mais j'ai du coup une adresse de ce genre : fr.monsite.com/?do=fr

    Comment supprimer le ?do=fr ?

    Merci
     
  11. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 928
    J'aime reçus:
    78
    Code:
    RewriteCond %{QUERY_STRING} ^do=([a-z]+)$
    RewriteRule ^ http://%1.monsite.com? [R=301,L]
    
     
  12. sff
    sff WRInaute impliqué
    Inscrit:
    2 Février 2005
    Messages:
    535
    J'aime reçus:
    0
    Merci beaucoup !

    Est ce qu'on peut éviter de mettre monsite.com et faire appel à une autre variable qui ferait la meme chose ?

    Merci
     
Chargement...
Similar Threads - rewriting Htaccess fonctionne Forum Date
test de page html avec htaccess (url rewriting) URL Rewriting et .htaccess 16 Juin 2018
Problème accent URL Rewriting et .htaccess URL Rewriting et .htaccess 4 Novembre 2016
Url rewriting Suppression de www et .com unqiuement dans un repertoire avec htaccess URL Rewriting et .htaccess 16 Août 2014
URL rewriting : un RewriteRule sans effet dans le htaccess URL Rewriting et .htaccess 19 Juin 2014
Pattern PRG, ordre des get, url rewriting - htaccess Développement d'un site Web ou d'une appli mobile 14 Février 2013
Url rewriting htaccess URL Rewriting et .htaccess 31 Mai 2011
URL Rewriting via .htaccess > incompréhension URL Rewriting et .htaccess 30 Novembre 2010
url rewriting ne fonctionne pas chez moi URL Rewriting et .htaccess 4 Août 2021
URL rewriting et REGEX bonnes pratiques Développement d'un site Web ou d'une appli mobile 9 Septembre 2020
supprimer /index.html sans url rewriting, possible ? URL Rewriting et .htaccess 13 Novembre 2019