Plusieurs conditions .htaccess. Comment faire?

Discussion dans 'URL Rewriting et .htaccess' créé par dash84, 19 Avril 2012.

Tags:
  1. dash84
    dash84 Nouveau WRInaute
    Inscrit:
    4 Octobre 2010
    Messages:
    8
    J'aime reçus:
    0
    Bonjour,

    J'éprouve beaucoup de difficultés pour créer les règles d'URL rewriting Apache suivantes et j'aurais besoin d'un coup de pouce :idea:

    Le principe est que lorsque qu'un internaute demande l'URL http://www.mon-site.com (ou mon-site.com) avec un téléphone mobile, il est redirigé vers la page correspondante sur la version mobile (m.mon-site.com). Les pages ont le même nom MAIS toutes les pages n'ont pas d'équivalence en version mobile. Si une page n'ayant pas d'équivalence en mobile est demandée par l'internaute, il n'est pas redirigé vers la version mobile du site mais reste sur la version classique. Ceci afin d'éviter les erreurs 404.

    Si l'internaute demande la version mobile (une page m.mon-site.com/...) avec un ordinateur classique, aucune redirection n'est nécessaire vu qu'il l'aura forcément fait intentionnellement.

    Quelques exemples:

    Ex: l'url SAISIE est http://www.mon-site.com/FR/Page-A.html (la version mobile de cette page existe)

    -> On utilise un mobile
    // REDIRECTION VERS: http://m.mon-site.com/FR/Page-A.html

    -> On utilise un ordinateur classique
    // AUCUNE REDIRECTION

    Ex: l'url SAISIE est http://www.mon-site.com/FR/Page-B.html (la version mobile de cette page existe)

    -> On utilise un mobile
    // REDIRECTION VERS: http://m.mon-site.com/FR/Page-B.html

    -> On utilise un ordinateur classique
    // AUCUNE REDIRECTION


    Ex: l'url SAISIE est http://www.mon-site.com/FR/Page-C.html (la version mobile de cette page n'existe pas)

    -> On utilise un mobile
    // AUCUNE REDIRECTION (car la page n'a pas d'équivalence en version mobile, on ne doit pas rediriger vers m.mon-site.com...)

    -> On utilise un ordinateur classique
    // AUCUNE REDIRECTION


    Ex: l'url SAISIE est http://m.mon-site.com/FR/Page-C.html (l'internaute demande donc directement la version mobile)

    -> On utilise un mobile
    // AUCUNE REDIRECTION

    -> On utilise un ordinateur classique
    // AUCUNE REDIRECTION

    Voici le contenu du .htaccess de http://www.mon-site.com que j'ai pu faire seul, il redirige bien vers la version mobile, mais pour toutes les pages demandées, or j'aimerais restreindre à certaines pages seulement (voir exemple précédent):

    Options +FollowSymlinks
    RewriteEngine on
    RewriteCond %{HTTP_USER_AGENT} ^.*Mobile.*$
    RewriteRule ^(.*)$ http://m.mon-site.com/$1 [QSA,R=301,L]
    RewriteCond %{HTTP_HOST} !^www\.mon-site\.com [NC]
    RewriteRule (.*) http://www.mon-site.com/$1 [QSA,R=301,L]

    J'aimerais donc pouvoir rajouter le code qui permettra d'effectuer une redirection si le USER AGENT est mobile ET si la page demandée est dans une liste définie dans le .htaccess (Page-A.html et Page-B.html donc mon exemple)

    Pourriez-vous m'éclairer sur la syntaxe exacte? Je galère vraiment avec Apache...

    Merci :D

    Damien
     
  2. consollection
    consollection WRInaute discret
    Inscrit:
    19 Octobre 2007
    Messages:
    51
    J'aime reçus:
    0
    Oublie le htacess.
    Sur tous pages qui existe en version mobile tu ajoutes en PHP :

    <?php
    $useragent=$_SERVER['HTTP_USER_AGENT'];
    if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))){
    header('Location: http://m.mon-site.com'.$_SERVER['PHP_SELF']);
    exit;
    }
    ?>
     
Chargement...
Similar Threads - conditions htaccess Forum Date
Conditions mutltiples pour un htaccess URL Rewriting et .htaccess 20 Novembre 2009
Simplifier en factorisant les conditions de mon htaccess. URL Rewriting et .htaccess 3 Juin 2008
Des conditions sur les variables POST dans le htaccess ? URL Rewriting et .htaccess 16 Avril 2008
Conditions et logique dans un fichier htaccess "dynamiq URL Rewriting et .htaccess 9 Janvier 2006
Conditions Segments avancés Google Analytics Google Analytics 4 Février 2020
Microsoft modifie ses conditions d'utilisation (CGU) Droit du web (juridique, fiscalité...) 20 Novembre 2018
Avoir AdWords et conditions AdWords 14 Décembre 2017
conditions php Développement d'un site Web ou d'une appli mobile 19 Mars 2017
Améliorer une suite de conditions php Développement d'un site Web ou d'une appli mobile 10 Novembre 2016
Conditions générales de vente et devis Droit du web (juridique, fiscalité...) 30 Octobre 2015
Les pages "conditions" et "Mentions légales" Débuter en référencement 21 Décembre 2013
Conditions légales ou pas? Droit du web (juridique, fiscalité...) 14 Novembre 2013
Background image sous conditions Développement d'un site Web ou d'une appli mobile 8 Avril 2013
Quel mention des conditions sur une facture de prestation en référencement ? Droit du web (juridique, fiscalité...) 7 Mars 2013
Quelles sont les conditions pour indexer mon site dans Google news ? Google : l'entreprise, les sites web, les services 10 Octobre 2012
Conditions pour avoir un Blog "perso" référencé ds Google Actualités Débuter en référencement 21 Juin 2012
Problème url-rewriting multi-conditions URL Rewriting et .htaccess 20 Juin 2012
Aide pour des conditions php Développement d'un site Web ou d'une appli mobile 31 Janvier 2012
Indexer une page avec des conditions Problèmes de référencement spécifiques à vos sites 25 Janvier 2012
Array.sort() Javascript avec 2 conditions Développement d'un site Web ou d'une appli mobile 2 Décembre 2011