catch-all à la fin

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Krams
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Oct 01, 2003 12:55

catch-all à la fin

Message le Jeu Aoû 09, 2007 11:46

Bonjour,

voilà, je voudrais réécrire suivant quelques règles, ensuite envoyer vers une page précise si rien après le nom de domaine, et envoyer tout le reste en 404 ou vers une page d'erreur.

J'ai utilisé le htaccès suivant, toutes les règles fonctionnent sauf la dernière (404) qui fait générer une erreur 500, même si c'est la seule règle que je laisse... quelqu'un aurait une idée sur comment faire un genre de catch-all à la fin ??

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}/([0-9]){1,5}-([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=$4&pagin=$5 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}-([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=0&pagin=$4 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}/([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=$4&pagin=0 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}$ /index.php?lang=$1&mod=$2&submod=$3 [L]
RewriteRule ^$ /index.php?lang=0&mod=main&submod=chooselang [L]
RewriteRule ^(.*)$ /404.php?url=$1 [L]


Pour info, j'ai essayé avec toutes les combinaisons ^.* ^.+ avec ou sans parenthèses et avec ou sans $... mais tout me donne une 500

Merci d'avance à ceux qui auraient une idée...
Krams

Edit: début de réponse, si je fais ceci ça marche:
Code: Tout sélectionner
RewriteRule ^(.*)$ http://www.google.be [L]

Superbaloo
Nouveau WRInaute
 
Messages: 18
Inscription: Dim Mar 11, 2007 17:58

Message le Ven Aoû 10, 2007 14:03

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}/([0-9]){1,5}-([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=$4&pagin=$5 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}-([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=0&pagin=$4 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}/([0-9]){1,5}$ /index.php?lang=$1&mod=$2&submod=$3&id=$4&pagin=0 [L]
RewriteRule ^([a-z]){2}/([a-z]){1,10}/([a-z]){1,10}$ /index.php?lang=$1&mod=$2&submod=$3 [L]
RewriteRule ^$ /index.php?lang=0&mod=main&submod=chooselang [L]
RewriteRule (.*) /404.php?url=$1 [L,NE]


essaye ca

Krams
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Oct 01, 2003 12:55

Message le Ven Aoû 10, 2007 14:15

hello,
je viens d'essayer (avec ou sans délimiteurs ^$) mais j'ai toujours une erreur 500...

je ne suis pas certain de m'y prendre de la bonne façon... en fait je voudrais que tout url non conforme aux règles plus haut donnent une 404 personalisée (avec un vrai status 404 si possible mais ça je verrai après), que la page existe ou non (histoire qu'on ne puisse pas arriver par hasard sur un fichier ou un directory qui existe)

@++


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3339
Inscription: Mar Nov 16, 2004 18:27

Message le Ven Aoû 10, 2007 15:43

tes fichiers n'ont pas d'extention ?
donne l'url de depart et celle d'arrivée stp


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12400
Inscription: Dim Aoû 08, 2004 20:24

Message le Ven Aoû 10, 2007 16:20

tu ne serais pas chez free, par hasard ?

Superbaloo
Nouveau WRInaute
 
Messages: 18
Inscription: Dim Mar 11, 2007 17:58

Message le Ven Aoû 10, 2007 17:22

essaye ca sinon

Code: Tout sélectionner
ErrorDocument 404 /404.php


tu dois recuperer l'url de la page dans les http_referer normalement

Krams
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Oct 01, 2003 12:55

Message le Lun Aoû 13, 2007 8:34

tes fichiers n'ont pas d'extention ?
donne l'url de depart et celle d'arrivée stp

heu tout redirige vers la page index.php avec des params en GET selon l'url de départ (les règles marchent, pas de problème de ce côté).

tu ne serais pas chez free, par hasard ?

non, chez sivit.

essaye ca sinon
ErrorDocument 404 /404.php
tu dois recuperer l'url de la page dans les http_referer normalement


heu ce n'est pas exactement ce que je veux faire, ce que je voudrais c'est que tout ce qui ne répond pas aux règles reçoivent une 404, même si la page demndée existe.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité