Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour à tous,

Je viens de transférer mon forum phpBB vers SMF et fatalement, les URL sont différentes.

Voici la règle que je viens de tester (grâce aux explications données par Dan). Malheureusement, cela ne fonctionne pas :

RewriteRule forum-phpbb/forum-([0-9]+)\.html http://www.histwar.com/forum/index.php/board,$1.0.html [R=301,L]

Je l'insère dans un .htaccess existant (j'ai pensé qu'il pouvait y avoir des incompatibilités)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^histwar.com$
RewriteRule (.*) http://www.histwar.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]

RewriteRule ^(.*) /~histcom/index.php

RewriteRule /forum-phpbb/forum-([0-9]+)\.html http://www.histwar.com/forum/index.php/board,$1.0.html [R=301,L]
</IfModule>

Ce .htaccess est à la racine du site.

L'ancienne URL d'un forum est forum-1.html et la nouvelle est index.php/board,1.0.html

Quelqu'un comprend pourquoi cela ne fonctionne pas ? Merci par avance :)

Modifié par Perrine
Posté

Ton cas serait plutôt à traiter d'habord par RedirectMatch... (nécessite le mod_alias) puis le Rewritting mis en place avec SMF se chargera du reste...

Dans ton cas cela donnera :

RedirectMatch 301 forum-phpbb/forum-([0-9]+)\.html http://www.histwar.com/forum/index.php/board,$1.0.html

À placer avant les règles de réécriture de préférence ;)

Il faut savoir qu'avec le mod_rewrite lorsque tu utilises une RewriteRule et que le deuxième argument commence par &quot;http://" cette partie est automatiquement enlevée (à moins d'utiliser le flag R=XXX, comme tu l'as fait)... le mod_rewrite n'est pas prévu pour des redirections, il peut en faire, mais il faut plutôt le voir comme un module permettant de présenter un contenu accessible par une URL avec une autre URL (plus propre en général ;) )

Posté

Merci pour ces explications :)

Je vais demander à Dan (qui se charge de mon dédié chez OVH) si je dispose du mod_alias car j'avoue que je n'ai pas l'habitude de traiter ces questions de config :blush:

Posté

C'est un module assez utilisé...si je ne m'abuse il est chargé par défaut lors de l'installation de Apache. Il te suffit d'essayer d'utiliser un RedirectMatch ou RedirectPermanent dans ton fichier .htaccess ... tu verras tout de suite si la redirection fonctionne ou non ;)

Posté

Ah le RedirectPermanent, je l'utilise assez souvent et Dan vient de me confirmer que mod_alias est installé donc je m'en vais tester ta solution ;)

Merci :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...