Problème URL Rewriting avec les dossiers

  • Auteur de la discussion Auteur de la discussion Sined
  • Date de début Date de début
Nouveau WRInaute
Bonjour,
J'utilise la technique "Interdire example.com et obliger www.example.com" qui est très bien, seul problème, elle ne marche pas pour mon forum (je sais le problème a déja été posté mais j'ai pas vu de réponse) pour info il y a un .htaccess dans le dossier de mon forum!
Comment faire?
Merci d'avance
 
WRInaute occasionnel
as-tu accès aux logs apache ? peux-tu modifier le fichier httpd.conf principal et redémarrer apache ? si oui, ajoute les lignes suivantes après le chargement de mod_rewrite (au passage, vérifie ainsi que mod_rewrite est bien chargé :) ) :
RewriteLog /chemin/vers/un/repertoire/temporaire/rewrite.log
RewriteLogLevel 9


ça permettra de voir en détail ce qui se passe

Sinon, poste-nous le contenu de ton .htaccess qu'on voit si quelque chose parait clocher ? en remplaçant ton domaine par exemple.com
 
Nouveau WRInaute
Mon fichier .htaccess de la racine :
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxx.info$
RewriteRule ^(.*)   http://www.xxx.info/$1  [QSA,L,R=301]
Options -Indexes
<Files *.inc.php>
<LIMIT GET POST>
deny from all
</LIMIT>
</Files>
Celui qui est dans le forum:
Code:
RewriteEngine On
RewriteBase /forum
RewriteRule [.]*-vf([0-9]*) viewforum.php?%{QUERY_STRING}&f=$1
RewriteRule [.]*-vp([0-9]*) viewtopic.php?%{QUERY_STRING}&p=$1
RewriteRule [.]*-vt([0-9]*) viewtopic.php?%{QUERY_STRING}&t=$1
RewriteRule [.]*-vc([0-9]*) index.php?%{QUERY_STRING}&c=$1
RewriteRule [.]*-ac([0-9]*) album_cat.php?%{QUERY_STRING}&cat_id=$1
RewriteRule [.]*-at([0-9]*) album_thumbnail.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apic([0-9]*) album_pic.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-apm([0-9]*) album_picm.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-full-asp([0-9]*) album_showpage.php?full=&pic_id=$1
RewriteRule [.]*-asp([0-9]*) album_showpage.php?%{QUERY_STRING}&pic_id=$1
RewriteRule [.]*-aper([0-9]*) album_personal.php?%{QUERY_STRING}&user_id=$1
RewriteRule [.]*-dc([0-9]*) dload.php?%{QUERY_STRING}action=category&cat_id=$1
RewriteRule [.]*-df([0-9]*) dload.php?%{QUERY_STRING}action=file&file_id=$1
RewriteRule [.]*-kbc([0-9]*) kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-kba([0-9]*) kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-kbsmp kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-kbstr kb.php?mode=stats&stats=toprated
RewriteRule [.]*-kbsl kb.php?mode=stats&stats=latest
RewriteRule [.]*-pbc([0-9]*) kb.php?%{QUERY_STRING}mode=cat&cat=$1
RewriteRule [.]*-pa([0-9]*) kb.php?%{QUERY_STRING}mode=article&k=$1
RewriteRule [.]*-psmp kb.php?mode=stats&stats=mostpopular
RewriteRule [.]*-pstr kb.php?mode=stats&stats=toprated
RewriteRule [.]*-pbsl kb.php?mode=stats&stats=latest
Pour l'histoire du httpd.conf je pense pas pouvoir le modifier (je suis sur l'offre premium de 1and1).
 
WRInaute occasionnel
Ton rewrite pour forcer le www devrait fonctionner avec le forum en ajoutant au .htaccess du forum, après le rewriteengine on :
Code:
RewriteOptions inherit
 
Nouveau WRInaute
ChezThierry a dit:
Ton rewrite pour forcer le www devrait fonctionner avec le forum en ajoutant au .htaccess du forum, après le rewriteengine on :
Code:
RewriteOptions inherit
Maintenant le problème c'est que quand je tape http://xxx.info/forum/ (sans les 3w) sa me redirige vers http://www.xxx.info !
J'ai essayé
Code:
RewriteCond %{HTTP_HOST} ^xxxx.info/forum$
RewriteRule ^(.*)   http://www.xxxx.info/forum/$1  [QSA,L,R=301]
Au hasard mais sa change rien!
 
WRInaute occasionnel
Je viens de faire quelques tests, t'as raison et je comprends pas ce comportement de mod_rewrite...

En attendant, tu peux faire comme ça :
* touche pas à ton .htaccess à la racine, qui fonctionne avec les autres répertoires,
* modifie le .htaccess du forum ainsi :

-vire le RewriteOptions inherit
-Replace tes règles de Rewrite dans celui-ci en indiquant /forum

ça donne au final, pour le .htacess dans /forum :
Code:
RewriteEngine On
RewriteBase /forum

RewriteCond %{HTTP_HOST} ^xxx.info$
RewriteRule ^(.*)   http://www.xxx.info/forum/$1  [QSA,L,R=301]


RewriteRule [.]*-vf([0-9]*) viewforum.php?%{QUERY_STRING}&f=$1
...

Le .htaccess à la racine reste inchangé par rapport à la version que tu as postée ici.

Ca a le mérite de fonctionner et tant pis si t'as les (quasiment) mêmes 2 lignes dans les deux fichiers :)
 
Discussions similaires
Haut