Redirection 301 sous condition

Nouveau WRInaute
Slt all,

Mes URL sont du type :
http://www.domain.com/2005/09/23/Le-titre-de-larticle

Et je veux que SEUL ce type ne marche (Aille sur article.php), et que tout le reste face ue 301 ^^

J'ai tente :
RewriteEngine On
RewriteBase /
RewriteRule ^index.php/([0-9]{4})/([0-9]{2})/([0-9]{2})/[A-Z][a-z]+ /article.php [L,QSA]

Mais ca passe pas top :s
Et je sais pas faire le "SINON 301"...

Quelqu'un pourrait-il me depanner ?

Merci bcp !
Florian
 
Nouveau WRInaute
Slt,

Ce code va faire que les URL du type ci-dessus, vont aller vers article.php, et le reste vers la nouvelle URL ?

Je ne m'en sort pas avec mon htaccess :(

Merci bcp
 
WRInaute impliqué
Mais je t´ai donné ta réponse déjà. As tu essayé?

RewriteRule /([0-9]+)/([0-9]+)/([0-9]+)/(.*) /article.php?var1=$1&var2=$2&var3=$3 etc... [L]

RewriteCond %{REQUEST_URI) !article.php
RewriteRule ^.*$ / [R=301]

et normalement, c´est mieux RedirectMatch, à condition de savoir les formes des URL à rediriger...
 
Nouveau WRInaute
WRInaute occasionnel
A peu près ce que donnait correiaj, pour des adresses de la forme /2005/09/23/Le-titre-de-larticle
Code:
RewriteRule ([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+) article.php?y=$1&m=$2&d=$3&article=$4 [L]

RewriteCond %{REQUEST_URI) !article.php
RewriteRule ^(.*)$ http://nouvelle-adresse.com/$1 [R=301,L]

Pour des adresses de la forme
/index.php/2005/09/23/Le-titre-de-larticle , changer le premier RewriteRule en
Code:
RewriteRule index\.php/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+) article.php?y=$1&m=$2&d=$3&article=$4 [L]

Les expressions régulières et les réécritures peuvent varier en fonction de l'hébergeur (avec ou sans / au début).
 
WRInaute occasionnel
Ca m'apprendra à faire du copier/coller, c'est } qu'il faut après REQUEST_URI et pas )
Code:
RewriteRule ([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+) article.php?y=$1&m=$2&d=$3&article=$4 [L]

RewriteCond %{REQUEST_URI} !article.php
RewriteRule ^(.*)$ http://nouvelle-adresse.com/$1 [R=301,L]
 
WRInaute occasionnel
Est-ce que ca fonctionne avec juste
Code:
RewriteRule ([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+) article.php?y=$1&m=$2&d=$3&article=$4 [L]
dans le .htaccess?
 
Nouveau WRInaute
Slt all,

TOUT MARCHE NICKEL !! Merci a vous !!

Une derniere question :
Dans :
RewriteCond %{REQUEST_URI} !article.php

Comment rajouter des pages ou des dossiers qui ne seront pas redirectionne ?

Merci bcp !
Florian
 
WRInaute impliqué
dans ta condition, tu mets un drapeau et tu sépares les possibilités par |
Enfin, tu peux mettre plusieurs conditions d´affiler:
RewriteCond %{REQUEST_URI} !(page1.php|page2.php|etc..)
et aussi
RewriteCond %{REQUEST_URI} !(page1.php|page2.php|etc..)
RewriteCond %{REQUEST_URI} !(rep1|rep2|etc...)

Attention, mettre les motifs absolus en cas de noms identiques entre fichiers et répertoires...
 
Discussions similaires
Haut