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 :

Redirection 301 sauf un dossier


Sujet :

Apache

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 62
    Points : 45
    Points
    45
    Par défaut Redirection 301 sauf un dossier
    Bonjour,

    Déjà, oui je sais il y a sûrement plein de sujets de ce type, et je les ai regardé. Seulement j'ai toujours du mal

    Je souhaite donc rediriger toutes les URLs "machin.com" (toutes ses pages et sous répertoires donc) vers "machin.com/truc". Mais je dois garder le répertoire machin.com/bidule accessible (et ce dernier doit pouvoir communiquer au niveau de traitements avec tout le site).
    Pour l'instant j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase /
    RewriteCond %{HTTP_HOST} machin.com$
    RewriteCond %{REQUEST_URI} !^machin.com/bidule
    RewriteRule ^(.*) http://www.machin.com/truc/$1 [QSA,L,R=301]
    J'ai beau retourner le problème dans tous les sens il me sort toujours des error 500, des URLs absurdes et j'en passe...

    Bref, si une âme charitable passe par là, merci.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Le test de REQUEST_URI doit être faux, c'est (uniquement) le chemin HTTP. Donc plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{HTTP_HOST} =machin.com
    RewriteCond %{REQUEST_URI} !^/bidule

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 62
    Points : 45
    Points
    45
    Par défaut
    La redirection s'effectue mais j'ai une erreur mysql

    Fatal error: Call to undefined function: mysqli_connect() in /homez.39/machin/www/truc/connexion.php on line 9
    Je vois pas trop en quoi la redirection affecte ma connexion, surtout que sans la redirection tout marche correctement...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase /
    RewriteCond %{HTTP_HOST} =machin.com
    RewriteCond %{REQUEST_URI} !^/bidule
    RewriteRule ^(.*) http://www.machin.com/truc/$1 [QSA,L,R=301]
    De plus la redirection ne s'effectue que si je tappe machin.com, pas http://www.machin.com ou www.machin.com

  4. #4
    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 Shinosha Voir le message
    Je vois pas trop en quoi la redirection affecte ma connexion
    Moi non plus surtout que mysqli_connect() est une fonction PHP standard, ou alors tu l'as redéfinie dans un fichier qui n'est pas inclus quand il y a une redirection. Donc, est-ce que mysqli_connect() est une fonction à toi ?

    Citation Envoyé par Shinosha Voir le message
    De plus la redirection ne s'effectue que si je tappe machin.com, pas http://www.machin.com ou www.machin.com
    Ca ne te paraît pas logique au regard de la configuration que tu donnes ?
    Citation Envoyé par Shinosha Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options +FollowSymlinks 
    RewriteEngine on 
    RewriteBase /
    RewriteCond %{HTTP_HOST} =machin.com
    ...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par Shinosha Voir le message
    La redirection s'effectue mais j'ai une erreur mysql
    Fatal error: Call to undefined function: mysqli_connect() in /homez.39/machin/www/truc/connexion.php on line 9
    Je vois pas trop en quoi la redirection affecte ma connexion, surtout que sans la redirection tout marche correctement...
    Ça ne concerne pas la connexion à MySQL mais c'est tout simplement la fonction mysqli_connect qui n'est pas/plus reconnue. Une configuration (PHP) différente qui s'applique ?

    Citation Envoyé par Shinosha Voir le message
    De plus la redirection ne s'effectue que si je tappe machin.com, pas http://www.machin.com ou www.machin.com
    Mauvaise interprétation de ma part. Modifiez la valeur de RewriteCond %{HTTP_HOST} (=mondomaine.com c'est uniquement pour mondomaine.com, mondomaine\.com$ s'appliquera à tout, ^(?:www\.)?mondomaine\.com$ uniquement à www.mondomaine.com et mondomaine.com).

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 62
    Points : 45
    Points
    45
    Par défaut
    Merci pour vos réponses

    Moi non plus surtout que mysqli_connect() est une fonction PHP standard, ou alors tu l'as redéfinie dans un fichier qui n'est pas inclus quand il y a une redirection. Donc, est-ce que mysqli_connect() est une fonction à toi
    Ça ne concerne pas la connexion à MySQL mais c'est tout simplement la fonction mysqli_connect qui n'est pas/plus reconnue. Une configuration (PHP) différente qui s'applique ?
    Non rien de spécial... Et non mysqli_connect est bien la fonction PHP de base, je n'ai rien redéfini

    Mauvaise interprétation de ma part. Modifiez la valeur de RewriteCond %{HTTP_HOST} (=mondomaine.com c'est uniquement pour mondomaine.com, mondomaine\.com$ s'appliquera à tout, ^(?:www\.)?mondomaine\.com$ uniquement à www.mondomaine.com et mondomaine.com).
    Donc pour que mondomaine.com, www.mondomaine.com, http://modomaine.com et http://www.mondomaine.com soit rédirigé je dois utiliser plusieurs RewriteCond ? Ou je mets juste mondomaine\.com$ ?

Discussions similaires

  1. Redirection permanente sauf un sous dossier
    Par synolog dans le forum Apache
    Réponses: 6
    Dernier message: 13/10/2011, 20h59
  2. Redirection 301, sauf quelques IP
    Par renaud26 dans le forum Apache
    Réponses: 1
    Dernier message: 28/03/2011, 21h34
  3. Duplicate Content, sauf si redirection 301?
    Par Sayrus dans le forum Référencement
    Réponses: 2
    Dernier message: 09/07/2008, 18h23
  4. Réponses: 1
    Dernier message: 18/04/2006, 13h05
  5. Réponses: 2
    Dernier message: 12/10/2005, 17h45

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