Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/08/2011, 15h47   #1
Futur Membre du Club
 
Homme
Étudiant
Inscription : janvier 2008
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 46
Points : 17
Points : 17
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 :
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.
Shinosha est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 18h22   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Le test de REQUEST_URI doit être faux, c'est (uniquement) le chemin HTTP. Donc plutôt :
Code :
1
2
RewriteCond %{HTTP_HOST} =machin.com
RewriteCond %{REQUEST_URI} !^/bidule
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 08h37   #3
Futur Membre du Club
 
Homme
Étudiant
Inscription : janvier 2008
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 46
Points : 17
Points : 17
La redirection s'effectue mais j'ai une erreur mysql

Citation:
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 :
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
Shinosha est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 11h02   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
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 :
1
2
3
4
5
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase /
RewriteCond %{HTTP_HOST} =machin.com
...
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 11h04   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par Shinosha Voir le message
La redirection s'effectue mais j'ai une erreur mysql
Citation:
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).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 11h11   #6
Futur Membre du Club
 
Homme
Étudiant
Inscription : janvier 2008
Messages : 46
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2008
Messages : 46
Points : 17
Points : 17
Merci pour vos réponses

Citation:
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:
Ç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

Citation:
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$ ?
Shinosha est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h39.


 
 
 
 
Partenaires

Hébergement Web