Rewriting de 2 sous répertoires

WRInaute discret
Bonjour à tous,

je développe actuellement une nouvelle version de mon annuaire pour lequel j'aimerais bien faire de l'url rewriting. Je sais que mon .htaccess est bon mais j'ai un petit soucis. En fait, je dois rewriter 2 sous répertoires différents. J'ai un forum qui se trouve dans le répertoire /forum/ et l'annuaire qui pour l'instant se trouve dans /scriptannu/mydir_1_0_1 ce que j'ai fait c'est de mettre un rewritebase /forum/ puis les règles du forum et puis un rewritebase /scriptannu/mydir_1_0_1/ suivi des règles pour l'annuaire. Seulement voilà les règles de l'annuaire ne marchent pas toutes. Il semblerait que je ne puisse rewriter qu'un seul script par fichier .htaccess .

Savez vous comment je pourrais résoudre ce problème?

Je vous remercie pour votre aide :D

charles
 
WRInaute passionné
Moi ce que je fais quand j'ai un forum un annuaire et autre.
A la racine j'ai l'URL rewrit pour mon site web.
Dans le repertoire de mon forum j'ai un autre URL rewrit celui du forum.
Dans le repertoire de mon annuaire j'ai l'URL rewrit de l'annuaire.
Comme cela dans chaque repertoire il y a le htacces a prendre en compte.

Je sais pas si j'ai bien repondu à ta question ou si tu as tout compris mon explication :?
 
WRInaute discret
Salut, merci beaucoup pour ta réponse donc si j'ai bien compris, si dans le répertoire racine je n'ai pas d'url rewriting, je ne mets rien à la racine, un fichier .htaccess dans le répertoire /forum/ pour mon forum phpbb et un .htaccess dans le répertoire /Annu/ pour mon annu c'est bien cela? Il ne faut ren mettre à la racine? Pour dire d'aller voir un .htaccess pour les sous répertoire? Dans le .htaccess du forum par exemple. Il se trouve donc dans /forum/ je ne dois pas mettre de rewritebase /forum/ je suppose?

merci oui c'est exactement cela que je demandais :D
 
WRInaute passionné
Oui c'est bien ça.
J'ai exactement la meme structure de site lol.
Pas besoin de mettre de htaccess a la racine de ton site.
En revanche je ppense que tu aura des modifications a faire au niveau des liens dans ton htaccess du forum et de l'annuaire.

Je ne connais pas la fonction de rewritebase.
Moi je ne l'utilise pas.
Peut etre que cela marche avec je ne sais pas.
 
WRInaute discret
Salut,

oui ca fonctionne pas mal mais par exemple pour le sous répertoire /forum/ pour le forum phpbb, j'ai une erreur 500 . Vous savez comment je peux règler ca? pour info, voici le fichier url rewriting que j'ai mis dans le répertoire /forum/

RewriteEngine On
#this may cause issues with subdirs and so I have not enabled it.


RewriteBase /forum/


RewriteRule [.]*-vf([0-9]*) /forum/viewforum.php?%{QUERY_STRING}&f=$1
RewriteRule [.]*-vp([0-9]*) /forum/viewtopic.php?%{QUERY_STRING}&p=$1
RewriteRule [.]*-vt([0-9]*) /forum/viewtopic.php?%{QUERY_STRING}&t=$1
RewriteRule [.]*-vc([0-9]*) /forum/index.php?%{QUERY_STRING}&c=$1
RewriteRule [.]*-ac([0-9]*) /forum/album_cat.php?%{QUERY_STRING}&cat_id=$1
RewriteRule [.]*-at([0-9]*) /forum/album_thumbnail.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apic([0-9]*) /forum/album_pic.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apm([0-9]*) /forum/album_picm.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-full-asp([0-9]*) /forum/album_showpage.php?full=&pic_id=$1
RewriteRule [.]*-asp([0-9]*) /forum/album_showpage.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-aper([0-9]*) /forum/album_personal.php?%{QUERY_STRING}&user_id=$1
RewriteRule [.]*-dc([0-9]*) /forum/dload.php?%{QUERY_STRING}action=category&cat_id=$1
RewriteRule [.]*-df([0-9]*) /forum/dload.php?%{QUERY_STRING}action=file&file_id=$1
RewriteRule [.]*-kbc([0-9]*) /forum/kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-kba([0-9]*) /forum/kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-kbsmp /forum/kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-kbstr /forum/kb.php?mode=stats&stats=toprated
RewriteRule [.]*-kbsl /forum/kb.php?mode=stats&stats=latest
RewriteRule [.]*-pbc([0-9]*) /forum/kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-pa([0-9]*) /forum/kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-psmp /forum/kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-pstr /forum/kb.php?mode=stats&stats=toprated
RewriteRule [.]*-pbsl /forum/kb.php?mode=stats&stats=latest
 
WRInaute passionné
Je pense qu'il faut que tu enleve /forum
Exemple;
Code:
RewriteRule [.]*-vf([0-9]*) /viewforum.php?%{QUERY_STRING}&f=$1
 
WRInaute discret
oui mais malheureusement ca ne marche pas non plus :cry: J'avais essayé toute les possibilités. D'aiileurs ca ne serait pas une erreur 404 dans ce cas la?

merci bcp pour ton aide :D
 
WRInaute passionné
Alors moi ce que j'ai fait pour mon forum
Ce n'est pas un phpBB mais bon c'est la meme chose je pense
Change par:
Code:
RewriteRule [.]*-vf([0-9]*)$ viewforum.php?%{QUERY_STRING}&f=$1
Ou :
Code:
RewriteRule [.]*-vf([0-9]*)$ /viewforum.php?%{QUERY_STRING}&f=$1

De rien pour moon aide :D
 
WRInaute discret
Non ca ne fonctionne pas. Mais c'est incroyable. En fait, les deux fonctionnent très bien si je les mets dans la racine et en mettant des /nomduchemin/ dans le .htaccess mais ne fonctionne pas du tout dès que je mets les .htaccess dans les sous répertoires directement. Le simple fait de les mettre fait qu'on ne sait même plus accéder à l'index du forum qui elle n'est pas rewritée. Les pages dans la racine du site elles part contre fonctionnent tj (heureusement :) ).

On dirait donc que le fait de mettre un .htaccess dans un sous répertoire interdit l'acces à ce sous répertoire :?:
 
WRInaute passionné
Ba alors la je ne vois pas.
Pense a modifier les configurations de ton forum.

Peux tu me donner l'adresse de ton site pour que je regarde.
En MP si tu veux.

Pourquoi tu ne fait pas comme dans ton www
Tu utilise bien un frum PHPBB rewriter.
 
WRInaute discret
le site c'est c-plus-c.com

don tu verras tu as le forum c-plus-c.com/forum qui fonctionne très bien url rewrité et tout et puis le futur annuaire c-plus-c.com/scriptannu/mydir_1_0_1/ qui fonctionne prèsque bien

tout cela c'est qd l'entièreté du .htaccess est à la racine. Mais bon y a des règles qui fonctionnent pas dans le futur annuaire parce que les 2 règles pour les 2 sous répertoires sont dans le même .htaccess . Si je les mets dans les sous répertoires, ca merde

merciiiii
 
WRInaute passionné
J'utilise le meme annuaire.
Je ne vois pas ou il y a un probleme.
Cite moi une page a probleme STP

Actuellement sur ta page d'accueil tu affiche bien un annuaire non ?
 
WRInaute discret
oui c'est l'ancien annu. La comme j'ai mis le .htaccess, c'est le nouvel annu qui a un problème mais c'est normal celui la c'est une erreur 404 du au fait qu'il est impossible de gerer l'url rewriting de 2 sous répertoires avec un seul .htaccess se trouvant à la racine. L'erreur 500 je peux malheureusement pas te la montrer pcq sinon mon site ne sera plus accessible :(
 
WRInaute passionné
Je ne suis plus dans les mesures de pouvoir te repondre.
DSL de n'avoir pas repondu a ta question.

Moi je definit un htaccess a la racine de mon site:
Code:
Options FollowSymLinks
RewriteEngine  on
RewriteCond %{REQUEST_URI} !^/forum/
RewriteCond %{REQUEST_URI} !^/forum
RewriteCond %{REQUEST_URI} !^/actualites/
RewriteCond %{REQUEST_URI} !^/actualites
RewriteCond %{REQUEST_URI} !^/annuaire/
RewriteCond %{REQUEST_URI} !^/annuaire
RewriteRule ^([^\.]+)$ /index.php?$1 [L]
RewriteRule ^([^\.]+).html$ /index.php?$1 [L]
ErrorDocument 404 /Lyontendance/404.php

Les deux RewriteRule ne te servent a rien car tu n'utilise pas de rewrite a la racine de ton site web

Pour mon forum je met un autre htaccess a la racine du forum
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^rubrique-([0-9]*).html$ index.php?cat=$1 
RewriteRule ^membre-([0-9]*).html$ profil_public.php?id=$1 
RewriteRule ^forum-([0-9]*).html$ forum.php?forum=$1 
RewriteRule ^forum-([0-9]*)-([0-9]*).html$ forum.php?forum=$1&page=$2 
RewriteRule ^sujet-([0-9]*).html$ sujet.php?sujet=$1 
RewriteRule ^sujet-([0-9]*)-([0-9]*).html$ sujet.php?sujet=$1&page=$2

Pour mon annuaire je met un autre htaccess a la racine de l'annuaire
Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^rubrique-([0-9]*).html$ index.php?cat=$1 
RewriteRule ^membre-([0-9]*).html$ profil_public.php?id=$1 
RewriteRule ^forum-([0-9]*).html$ forum.php?forum=$1 
RewriteRule ^forum-([0-9]*)-([0-9]*).html$ forum.php?forum=$1&page=$2 
RewriteRule ^sujet-([0-9]*).html$ sujet.php?sujet=$1 
RewriteRule ^sujet-([0-9]*)-([0-9]*).html$ sujet.php?sujet=$1&page=$2

Voila et tout marche correctement avec un forum FSB et MyPHPAnnu
 
WRInaute discret
Merci bcp qd même

à quoi servent les RewriteCond %{REQUEST_URI} !^/forum/

j'ai essayé en pensant que c'était ca qui me manquait mais non :cry:
 
WRInaute passionné
Etant donné que j'ai du htaccess a la racine du site web
Il me semble que ces lignes soient necesaire pour pouvoir utiliser le mode rewrit definit dans chaqu 'un de ces repertoires.

Je ne peux pas affirmer l'utilité de ces lignes de code.
DSL
 
WRInaute discret
Merci pour cette aide. Je vais bosser en tenant compte de cela et ptet que ca va fonctionner. Si qqn voit la solution, il est le bienvenu :D
 
WRInaute discret
Bonjour,

j'ai du nouveau, grâce à un ami de la toile, je pense avoir cerné le problème et c'est peut etre le pire des cas. Voici ce qu'on a fait. J'ai enlevé tout les fichiers .htaccess et j'en ai mis juste un dans le sous répertoire de l'annuaire avec comme seule ligne RewriteEngineOn et la....erreur 500 donc apparement, le simple fait de mettre un .htaccess dans un sous répertoire fait planter les pages du sous répertoire.

Ma question est donc la suivante:

Avez vous déjà eu un problème similaire et si oui savez vous quelle en est la solution? Je suis hébergé chez 1 and 1, ont ils une façon particulière de compiler les .htaccess ?

Merci par avance de votre aide

help help help :cry: :D
 
Discussions similaires
Haut