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/05/2011, 21h09   #1
Nouveau Membre du Club
 
Avatar de bractar
 
Inscription : janvier 2004
Messages : 201
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 201
Points : 29
Points : 29
Par défaut Multiples RewriteRule et RewriteCond

Bonjour,
j'ai plusieurs RewriteRule et RewriteCond pour mon site

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#redirection des vieilles pages
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.monsite.com$ [NC]
RewriteRule .* - [S=4]
RewriteRule ^vieille-page1$ new-page1 [R,L]
RewriteRule ^vieille-page2$ new-page2 [R,L]
RewriteRule ^vieille-page3$ new-page3 [R,L]
RewriteRule ^vieille-page1$ new-page4 [R,L]

#definition de http/https
RewriteCond %{HTTPS} =on
RewriteRule ^(.+)$ - [env=ps:https]
RewriteCond %{HTTPS} !=on
RewriteRule ^(.+)$ - [env=ps:http]

#ignore quelques sous-domaines
RewriteCond %{HTTP_HOST} !^(www|admin|m|web1|web2|web3|local) [NC,OR]
#redirection du .net vers .com
RewriteCond %{HTTP_HOST} ^(www\.)?monsite\.net$ [NC]

RewriteRule ^.*$ %{ENV:ps}://www.%{SERVER_NAME}/$1 [R=301,L]

http://monsite.com fais les requêtes suivantes:
Location http://monsite.com/://www.monsite.com/
Location http://www.monsite.com/
On arrive bien au bon résultat mais ca me gêne un peu de passer par http://monsite.com/://www.monsite.com/
Comment corriger ceci?

http://m.monsite.com/ reste sur http://m.monsite.com/
Par contre http://web1.monsite.com/ me donne
Location http://www.monsite.com/
Ce que je ne comprends pas.

Merci d'avance pour votre aide
__________________
Bractar the French fry eater
http://www.flale.com
bractar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 14h10   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 280
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 280
Points : 8 568
Points : 8 568
T'es en train de dire que %{ENV:ps} vaut par exemple "http://monsite.com/" au lieu de "http" ?

Pourquoi ne pas faire 2 blocs de réécriture au lieu de passer par une variable d'environnement ?
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
RewriteCond %{HTTPS} =on
#ignore quelques sous-domaines
RewriteCond %{HTTP_HOST} !^(www|admin|m|web1|web2|web3|local) [NC,OR]
#redirection du .net vers .com
RewriteCond %{HTTP_HOST} ^(www\.)?monsite\.net$ [NC]
RewriteRule ^.*$ https://www.%{SERVER_NAME}/$1 [R=301,L]

RewriteCond %{HTTPS} !=on
#ignore quelques sous-domaines
RewriteCond %{HTTP_HOST} !^(www|admin|m|web1|web2|web3|local) [NC,OR]
#redirection du .net vers .com
RewriteCond %{HTTP_HOST} ^(www\.)?monsite\.net$ [NC]
RewriteRule ^.*$ http://www.%{SERVER_NAME}/$1 [R=301,L]
Pas essayé.
__________________

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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h52.


 
 
 
 
Partenaires

Hébergement Web