.htaccess url rewrite Enlever les parametres

Discussion dans 'Netlinking, backlinks, liens et redirections' créé par toto66, 10 Avril 2013.

  1. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Salut à tous, je suis nouveau sur ce forum.

    Je programme depuis quelques années et je me suis intéressé au .htaccess.
    Je n'y comprends rien ! :(

    J'ai l'url de mon site qui s'affiche comme ça : www.monsite.com?categ=1
    Et j'aimerais simplement que le visiteur voit : www.monsite.com

    J'espere que vous saurez m'aider :)
     
  2. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Je ne sais pas quelle genre de redirection tu veux, mais voici le principe :

    Code:
    RewriteRule .* http://www.monsite.com? [L,R=301]
    
    En spécifiant "?" sans rien derrière, cela enlève les paramètres d'URL.
     
  3. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Une redirection permanente (ça se dit ?) serait top !

    J'ai essayé ton code et ça fonctionne ! Merci ;)

    Cependant j'au un message d'erreur qui me dit que le redirection ne se termine pas correctement
     
  4. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    C'est parce que ma redirection est une boucle infinie ;)

    Essaie :
    Code:
    RewriteCond %{QUERY_STRING} ^categ=1$
    RewriteRule .* http://www.monsite.com? [L,R=301]
    Ceci crée une redirection permanente seulement quand categ=1 est présent dans les paramètres d'URL.
     
  5. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    SUPER CA MARCHE !!!!

    Un grand merci ;)
     
  6. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Une dernière petite question :)

    Au lieu de : www.monsite.com/index.php?categ=1
    J'ai : www.monsite.com

    Nickel !

    Mais si je veux :
    www.monsite.com/accueil (pour categ=1)
    www.monsite.com/contact (pour categ=2)
    ...

    c'est possible ?
     
  7. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Bin oui :
    Code:
    RewriteCond %{QUERY_STRING} ^categ=1$
    RewriteRule .* http://www.monsite.com/accueil? [L,R=301]
    
    RewriteCond %{QUERY_STRING} ^categ=2$
    RewriteRule .* http://www.monsite.com/contact? [L,R=301]
    
     
  8. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Oui c'est ce que je me disais.
    Mais il faut alors créer un répertoire 'accueil' (par exemple) à la racine de mon site et mettre un nouvel index à l'intérieur ?

    Edit : Parceque là j'ai une erreure qui me dit que '/accueil' est introuvable. Normal
     
  9. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Qu'est-ce que tu veux faire exactement ? Parce que j'ai l'impression que tu y va à l'envers.
    Quand l'adresse est /accueil, tu veux rediriger vers le contenu de http://www.monsite.com?categ=1 ?
    Dans ce cas, il faut plutôt faire ça :
    Code:
    RewriteRule ^accueil$ /?categ=1 [L]
    
    Ensuite, tu modifies toutes tes liens ?categ=1 en /accueil.
     
  10. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Oui je crois que je me mélange les pinceaux :?

    Oui je veux que : "www.monsite.com/accueil" affiche le contenu de "www.monsite.com/index.php?categ=1"

    Mais le répertoire 'accueil' est "virtuel". Il n'existe pas à la racine de mon site...
     
  11. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    Ca y est ça fonctionne ! Merci beaucoup :wink:
    Il est possible de gérer les pages d'erreur ?

    Admettons que "www.monsite.com/accueil" est une adresse qui fonctionne.
    Si le client tape "www.monsite.com/acuel" peut t-on créer notre prorpre page d'erreur ? (Ce serait mieu que d'avoir l'erreur du nav)
     
  12. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Bah par exemple, tu peux faire ceci :
    Code:
    RewriteRule ^accueil$ /?categ=1 [L]
    
    # autres règles …
    
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule .* - [NC,L]
    
    RewriteRule .* erreur404.php [L]
    
    
    Les RewriteCond suivit du RewriteRule permet de stocker les redirections pour tous les fichiers ou dossiers physiques (image, CSS, etc.).
    Si l'URL ne correspond à aucune règle de réécriture et n'est pas un fichier physique, on redirige vers erreur404.php (tu met ce que tu veux).
    Ensuite, pour dire au navigateur (ou robot) que c'est une page non trouvée, il faut envoyer le code 404. Par exemple, en PHP pur :
    PHP:
    <span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"HTTP/1.0 404 Not Found"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault"> </span>
     
  13. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
  14. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 923
    J'aime reçus:
    272
    Formulaire en method GET: c'est le browser qui construit l'URL.
    La seule méthode c'est de passer ton form en POST.
     
  15. toto66
    toto66 Nouveau WRInaute
    Inscrit:
    9 Avril 2013
    Messages:
    9
    J'aime reçus:
    0
    J'y ai pensé oui !
    Il n'y a vraiment pas de solutions avec le .htaccess ?
     
  16. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    8 923
    J'aime reçus:
    272
    Je t'ai donné la seule soluce. De plus c'est bizarre un form de contact en GET.
     
  17. Blount
    Blount WRInaute impliqué
    Inscrit:
    18 Novembre 2010
    Messages:
    707
    J'aime reçus:
    0
    Si tu enlèves les paramètres d'URL, alors ton code PHP ne pourra pas les récupérer. La seule solution comme le fait remarquer spout est de passer en POST.
     
Chargement...
Similar Threads - htaccess rewrite Enlever Forum Date
Déplacer les RewriteRule du .htaccess vers le vhost URL Rewriting et .htaccess 16 Janvier 2018
Pages profondes non redirigées (.htaccess RewriteRule) Débuter en référencement 5 Décembre 2016
Htaccess et RewriteRule | problème URL Rewriting et .htaccess 25 Septembre 2014
URL rewriting : un RewriteRule sans effet dans le htaccess URL Rewriting et .htaccess 19 Juin 2014
Multiples htaccess et RewriteRule avec fichier centralisé à la racine URL Rewriting et .htaccess 19 Avril 2014
.htaccess / url rewrite > Erreur 404.14 sur 1and1 URL Rewriting et .htaccess 19 Mai 2013
Redirection htaccess rewritecond Netlinking, backlinks, liens et redirections 21 Mars 2013
Syntaxe RewriteRule .htaccess URL Rewriting et .htaccess 25 Septembre 2012
Syntaxe RewriteRule .htaccess Débuter en référencement 24 Septembre 2012
Problème .htaccess Rewrite URL Rewriting et .htaccess 22 Juillet 2012
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice