Bug URL rewriting avec PHPBB .

Nouveau WRInaute
J'ai suivi toute votre méthode pour l'url rewriting de mon forum ...
Cependant, j'ai cette erreur :

Warning: preg_replace(): Compilation failed: unrecognized character after (? at offset 34 in /home/httpd/vhosts/*********/forum/includes/page_header.php on line 106

Warning: preg_replace(): Compilation failed: missing terminating ] for character class at offset 43 in /home/httpd/vhosts/************/forum/includes/page_header.php on line 106


Or, ma ligne 106 est bien celle que vous indiquez dans le tuto :
Code:
$s = preg_replace($urlin, $urlout, $s);
...


Je n'y comprends rien ...

Pour info, je suis en 2.0.15


MErci d'avance pour toute aide !
 
WRInaute impliqué
le problème vient d'un ? non échappé au-dessus je dirais ;) dans un array de $urlin sans doutes
 
Nouveau WRInaute
Ohax a dit:
quelle méthode à tu suivit parmi les dizaines disponibles sur le net ?


Celle ci :)

le problème vient d'un ? non échappé au-dessus je dirais :wink: dans un array de $urlin sans doutes


Désolé, mais je me débrouille un peu mais je suis loin d'être expert, donc je comprends pas trop ce qu'il faut que je fasse ! :oops: :)
 
Nouveau WRInaute
Bon, visiblement j'ai dégagé le bug en bidouillant ...

Mais ça ne marche quand même pas ...

Dès que je veux entrer sur une catégorie du forum j'ai :
The requested URL /*****/forum1.html was not found on this server.


Donc, je pense que c'est le .htacess qui est en cause !


Il est fait comme suit :

Code:
RewriteEngine On
RewriteRule ^nexistepas.html$ trouve.html [L]
RewriteRule ^forums.* /index.php
RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* /viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* /viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* /viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* /viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* /viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* /viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html /viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
RewriteRule ^sutra([0-9]*).* /viewtopic.php?p=$1
 
WRInaute impliqué
Essaye avec
Code:
RewriteEngine On 
RewriteRule ^forums.* index.php 
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1&mark=topic 
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* viewforum.php?f=$1&topicdays=$2&start=$3 
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1 
RewriteRule ^ptopic([0-9]*).* viewtopic.php?t=$1&view=previous 
RewriteRule ^ntopic([0-9]*).* viewtopic.php?t=$1&view=next 
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 
RewriteRule ^ftopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&start=$2 
RewriteRule ^ftopic([0-9]*).* viewtopic.php?t=$1 
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 
RewriteRule ^sutra([0-9]*).* viewtopic.php?p=$1
:)
 
WRInaute discret
montre ce que tu avais mis au dessus de

$s = preg_replace($urlin, $urlout, $s);

ce sont tes deux tableaux $urlin et $urlout qui fesait buggé
 
WRInaute discret
As-tu essayé de mettre ton htaccess à la racine de ton site, et d'y indiquer le chemin complet des fichiers ?

Code:
toursmob/forum/.....
 
Nouveau WRInaute
Elvis a dit:
As-tu essayé de mettre ton htaccess à la racine de ton site, et d'y indiquer le chemin complet des fichiers ?

Code:
toursmob/forum/.....
.


Je viens d'essayer ! ça marche ! Merci 1000 fois !

Maintenant, j'ai une question bonus ! :lol:
Du coup, si mon htaccess est à la racine de mon site et que j'ai plusieurs forums dans divers répertoires de mon site, est-ce que je peux remettre plusieurs fois les lignes de codes de l'UR dans mon htaccess avec les chemins d'accès complets ?
ça va pas tout faire bugger ?

Je sais pas si je m'exprime bien ...

Je vous donne un exemple inventé :

RewriteEngine On
RewriteRule ^forums.* /toursmob/forum/index.php
RewriteRule ^forum([0-9]*).* /toursmob/forum/viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /toursmob/forum/viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* /toursmob/forum/viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* /toursmob/forum/viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* /toursmob/forum/viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* /toursmob/forum/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* /toursmob/forum/viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* /toursmob/forum/viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html /toursmob/forum/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
RewriteRule ^sutra([0-9]*).* /toursmob/forum/viewtopic.php?p=$1




RewriteEngine On
RewriteRule ^forums.* /patracrouz/forum/index.php
RewriteRule ^forum([0-9]*).* /patracrouz/forum/viewforum.php?f=$1&mark=topic
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* /patracrouz/forum/viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^forum([0-9]*).* /patracrouz/forum/viewforum.php?f=$1
RewriteRule ^ptopic([0-9]*).* /patracrouz/forum/viewtopic.php?t=$1&view=previous
RewriteRule ^ntopic([0-9]*).* /patracrouz/forum/viewtopic.php?t=$1&view=next
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* /patracrouz/forum/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^ftopic([0-9]*)-([0-9]*).* /patracrouz/forum/viewtopic.php?t=$1&start=$2
RewriteRule ^ftopic([0-9]*).* /patracrouz/forum/viewtopic.php?t=$1
RewriteRule ^ftopic([0-9]*).html /patracrouz/forum/viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5
RewriteRule ^sutra([0-9]*).* /patracrouz/forum/viewtopic.php?p=$1

Voila ...
 
WRInaute passionné
Non, tu ne peux pas, il faut réécrire /tourmobs/forums.* en /tourmobs/.... et /patacrouz/forums.* en /patacrouz/....

Tu ne peux pas rediriger forums.* sur deux dossiers différents, comment veux-tu qu'apache devine ce que tu veux faire ??
 
Nouveau WRInaute
Dj_Apx a dit:
Non, tu ne peux pas, il faut réécrire /tourmobs/forums.* en /tourmobs/.... et /patacrouz/forums.* en /patacrouz/....

Tu ne peux pas rediriger forums.* sur deux dossiers différents, comment veux-tu qu'apache devine ce que tu veux faire ??


Ben ... je mets le chemin complet pour chacun des forums ?
 
Discussions similaires
Haut