pb url rewriting dans directive Directory

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

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

pb url rewriting dans directive Directory

Message le Mer Sep 22, 2004 15:50

Salut à tous,

j'ai un souci qui me fait m'arracher les cheveux :

j'ai plusieurs noms de domaines sur lesquels j'ai exactement le même type d'url rewriting.
les noms de domaines sont organisés dans des dossiers de la façon suivante :

/var/www/ndd1/web/
/var/www/ndd2/web/
/var/www/ndd3/web/
...

je veux faire l'UR sur le dossier "test" par exemple, dans lequel il y sous dossier correspondant à la langue, j'ai donc pour l'instant une directive pour chaque ndd :

Code: Tout sélectionner
<Directory /var/www/ndd1/web/test/>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)/page_(.+)\.html$ /script.php?langue=$1&rubs=$2 [L]
</Directory>

...

ce qui fonctionne parfaitement mais j'aimerais ne pas avoir à la faire pour chaque ndd, j'ai donc essayé ceci :

Code: Tout sélectionner
<Directory /var/www/*/web/test/>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)/page_(.+)\.html$ /script.php?langue=$1&rubs=$2 [L]
</Directory>


ce qui plante avec une erreur 400

et cela :

Code: Tout sélectionner
<DirectoryMatch /var/www/*/web/test/>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)/page_(.+)\.html$ /script.php?langue=$1&rubs=$2 [L]
</DirectoryMatch>


ou ça

Code: Tout sélectionner
<DirectoryMatch "^/var/www/*/web/test/" >
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.+)/page_(.+)\.html$ /script.php?langue=$1&rubs=$2 [L]
</DirectoryMatch>



qui font une erreur 404 (la regex ne marche pas.)



keskivapa?

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

Message le Ven Sep 24, 2004 12:08

snif, personne?

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Ven Sep 24, 2004 13:04

La directive DirectoryMatchprend une expression régulière comme argument donc
Code: Tout sélectionner
<DirectoryMatch "^/var/www/.*/web/test/" >

duch
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 194
Inscription: Mer Avr 09, 2003 10:33

Message le Ven Sep 24, 2004 14:17

merci pour ton aide, ça marche mieux.

seul problème, maintenant $1 contient tout le chemin, comment faire pour qu'il ne contienne que la langue?



je retire ce que j'ai dit, ça a marché une fois et ensuite : erreur 400 bad request, c'est quoi c'délire?




je re-retire ce que j'ai dis, j'ai réglé l'erreur 400 en virant le ../ devant l'url de mon script (j'avais essayer de mettre en relatif)
reste toujours le problème du $1 qui contient le chemin entier donc...



trouvé (enfin je crois) :

RewriteRule ^.*/(.+)/page_(.+)\.html$


merci encore pour ton aide.


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 0 invités