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 26/01/2012, 09h40   #1
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
Par défaut redirection d'url 301

Bonjour à tous,

je me galère depuis hier pour trouver la solution et ça commence à me saouler...

Je vous explique : auparavant, j'utilisais wordpress comme CMS et puis pour des raisons pratiques, j'ai changé pour joomla que je connais un peu mieux.

malheureusement, les url sont différentes et je dois donc les rediriger de manière permanente.

Dans mon fichier apache, j'ai essayé quelques trucs mais impossible...

Bon, la piste du php aurait été la plus simple à mettre en place. Peut être pas très clean mais simple... J'ai tenté d'incorporer le code dans l'index.php de joomla, à la racine du site :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if (isset($_SERVER['QUERY_STRING'])&&($_SERVER['QUERY_STRING']!='')){
	$query=$_SERVER['QUERY_STRING'];
	switch ($query){
		case "p=598": //ancienne adresse wordpress
			$dev="ma/nouvelle/adresse"; //nouvelle adresse joomla
			break;
		case "p=599":
			$dev="ma/nouvelle/adresse2";
			break;
	}
}
header('Location: '.'http://www.monsite.fr/'.$dev); //Redirection HTTP avec nom de site
header('HTTP/1.1 301 Moved Permanently');
header('Status: 301 Moved Permanently');

?>
mais, ça me met : erreur 310, trop de redirections...
donc cette piste est à abandonner je pense...

ensuite j'ai essayé, sans grande conviction :

Code :
Redirect permanent /?p=598 http://monsite.fr/section/categorie/article
mais comme à priori, apache ne gère pas les variables passées dans l'url, j'étais sûr à 99% du résultat...

et là j'ai tenté d'améliorer un peu la réécriture d'url, mais c'est pas trop mon truc apache... si un pro pouvait venir à ma rescousse... je ne dois plus être très loin... :

Code:
Code :
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  	Options +FollowSymlinks
  	RewriteEngine on
   	RewriteCond %{QUERY_STRING} ^p=598$
	RewriteRule ^index.php$ index.php/tableaux-de-bord [R=301,L]   
</IfModule>
D'avance merci à vous,

A bientôt,
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 15h29   #2
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
il y a du mieux, voici ce que j'ai désormais :


Code :
1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=6$
RewriteRule ^(.*)$ http://monsite.fr/index.php/blog/section/categorie/article [R=301,L]
</IfModule>
Ca marche presque... encore une fois, le truc tourne en boucle car le paramètre p=6 reste dans l'url... du style :

Code :
http://monsite.fr/index.php/blog/section/categorie/article?p=6
j'aimerai le supprimer... j'ai bien tenté avec le drapeau [QSD] mais rien à faire, la version d'apache du serveur mutualisé sur lequel est mon site est 2.2.21 alors que la balise [QSD] n'est opérationnelle qu'à partir de la version 2.4.... pas de bol quoi....

Auriez vous une piste pour m'aider ?

D'avance merci pour votre aide...
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 17h20   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 302
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 302
Points : 8 583
Points : 8 583
Il faut ajouter un ? à la fin de ton URL de redirection pour pas qu'Apache ajoute la query string initiale :
Code :
RewriteRule ^(.*)$ http://monsite.fr/index.php/blog/section/categorie/article? [R=301,L]
__________________

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 26/01/2012, 17h22   #4
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
aaaaaahhhhhhhhh ! j'ai trouvé !

Bon, je mets la solution, au cas où... ça pourrait servir un jour à quelqu'un d'autre.... une journée pour un put$^* de ?

voilà le code final :
Code :
1
2
3
4
5
6
7
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=6$
RewriteRule ^(.*)$ http://monsite.fr/index.php/blog/section/categorie/article? [R=301,L]
</IfModule>
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 17h23   #5
Membre du Club
 
Thibaut LEFEBVRE
Finance
Inscription : octobre 2009
Messages : 123
Détails du profil
Informations personnelles :
Nom : Thibaut LEFEBVRE
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Finance
Secteur : Finance

Informations forums :
Inscription : octobre 2009
Messages : 123
Points : 45
Points : 45
Edit ! A 2 minutes près ;-D Bon merci pour la réponse tout de même ! c'est arrivé en même temps !!!
Souri84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h56.


 
 
 
 
Partenaires

Hébergement Web