rewrite ET redirection

Nouveau WRInaute
Bonjour à tous,

Je voudrais rediriger (301) toutes les requêtes d'exemple.com vers www.exemple.com
ET
réécrire les URLs pour que la page demandée utilise un répertoire précis
(www.exemple.com/pagedemandée = www.exemple.com/dir1/dir2/pagedemandée)
sans que cela modifie l'URL

Le code suivant m'envoie bien dans le bon répertoire mais n'ajoute pas les www si je tape http://exemple.com

Je ne sais pas où mettre la redirection 301...

Merci de votre aide.

---
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^exemple.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.exemple.com$
RewriteCond $1 !^dir1/dir2 [NC]
RewriteRule (.*) /dir1/dir2/$1 [QSA,L]
---

NB. test non concluant (rend dir1/dir2 visible dans l'url...) :
RewriteRule (.*) http://www.exemple.com/dir1/dir2/$1 [QSA,L]
 
Nouveau WRInaute
Salut es ce que tu as réussi ton rewriting et tes redirections parce que je me casse la tête depuis des heures sur un problème similaire au tien.

je dois réécrire des urls et ensuite faire des redirections 301

ma page monproduit.phpid=5&cat=1.php doit être réécrite en http://www.monsite/Nom-du-produit.html

jusque là ça marche en passant par le .htaccess dans lequel j'ai mis

Code:
RewriteEngine On
RewriteBase /
RewriteRule ^monproduit\.php?id=5&cat=1 http://www.monsite/Nom-du-produit.html [R=301,NC,L]

là ou ça foire c'est pour la redirection 301. J'ai tenté par le htaccess
Code:
Redirect 301 /produit.php?id=5&cat=1 http://www.monsite/Nom-du-produit.html
ou
Code:
RedirectPermanent /produit.php?id=5&cat=1 http://www.monsite/Nom-du-produit.html
mais ça ne marche pas.

J'ai également testé en php en plaçant ce code en début de la page monproduit.php

Code:
<?php
If($_SERVER['REQUEST_URI'] == 'monproduit.php')
{

if ($_POST['cat'] == 1)
{
	switch ($_POST['id'])
	{
	
	case 1:
		header('Status: 301 Moved Permanently');
		header('location:/Nom-du-produit.html');
		exit(0);
		
		break;
	
	case 2:
...
}
?>

Si quelqu'un peut m'éclairer ça serait cool ;-)
 
Discussions similaires
Haut