Problème de redirection ..

WRInaute discret
Bonjour à tous,

J'ai un petit problème, j'aurais besoin d'un peut d'aide !

Voilà j'ai complètement modifier un de mes sites, toutes les pages sont passer du html au php et certaines ont une url légèrement modifier .

Le problème c'est que je suis plutôt bien placer dans les moteurs, je n'est pas envi de tout perdre donc j'ai penser à faire une redirection ..

J'ai fait un petit test pour voir si sa marché, j'ai créer un dossier test avec dedans une page test.php j'ai mis un fichier .htaccess :

Code:
RewriteEngine on' 

RewriteBase /

RewriteRule ^test-([0-9]*).php
 test.html [R=301]

Seulement quand je met tout sa en ligne j'ai une erreur 500 ...

J'ai contacter mon hebergeur (1and1) qui me dit que l'URL Rewriting est activé, et qu'il faut que je mette dans le fichier .htaccess "RewriteEngine on' " et "RewriteBase /", alors je ne comprend pas d'où peut venir le problème !

Quelqu'un pourrait m'aider ?

Merci beaucoup.
 
WRInaute discret
J'ai esseyer mais aucun changement toujours la même erreur. Je penser que j'avais du faire une erreur dans le fichier .htaccess, vu qu'apparemment sa ne viens pas de l'hebergeur ...

Je ne comprend vraiment pas pourquoi sa ne fonctionne pas.
 
WRInaute discret
Non plus :cry:

Sa m'affiche toujours la même erreur : 500 Internal Server ..

En plus cette erreur s'affiche quand j'esseye d'aller sur la page html mais aussi celle en php .

Quoi je face sa me remet toujours la même erreur.
 
WRInaute accro
Euh
Code:
RewriteEngine on

RewriteRule ^test-([0-9]+)\.php$
 test.html [R=301]
Ptet ??


Tu peux donner un exemple d'ancienne URL et de nouvelle ? La la règle que tu indiques va (tenter de ) :
rediriger toutes les URL de type
test-1.php, test-2.php, test-12345.php
vers une seule URL
test.html

C'est bien ça que tu veux faire ?
 
WRInaute discret
Non en faite par exemple :

a la base j'avais test.html, test-1.html, autre.html, toutes mes pages son bien classer et je ne veux pas perdre le référencement donc je veux les rediriger vers les nouvelles : test.php, test-1.php autre.php ...

la c'est juste un test mais si sa marche apres il me suffira juste de rajouter des :
Code:
RewriteRule ^test-([0-9]*).php
 test.html [R=301]

RewriteRule ^autre-([0-9]*).php
 autre.html [R=301]

Enfin je mit prend peut être mal ...
 
WRInaute accro
1° On ne peut pas couper une commande sur 2 lignes.

2° Je ne sais pas chez 1&1 mais si ta regle concerne un fichier placé dans un repertoire, ton fichier .htaccess doit etre placé dans le meme repertoire.
OU si tu le laisse a la racine, tu dois lui donner le chemin correct vers le fichier physique => /repertoire/$1-$2.html

3° La regle ci dessous fonctionne, la regle de nickargall aussi d'ailleurs... a toi de pointer correctement sur le fichier physique.

([^-]*) => classe prennant tout sauf le - (tiret)
([0-9]+) => classe de chiffre de 0 à 9


Code:
RewriteEngine on
RewriteRule ([^-]*)-([0-9]+)\.php$  /$1-$2.html [L,R=301]
 
WRInaute discret
Quoi que je face n'importe quel code que je mette j'arrive toujours a une erreur ..

1and1 me dit :

Pour activer cette fonction, il suffit de placer le texte 'RewriteEngine
on' dans un fichier nommé '.htaccess' placé dans le dossier où vous
voulez activer l'URL Rewriting.

Il est également impératif de rajouter la varible base ce même fichier
ainsi il vous faut ajouter une ligne sous la forme
RewriteBase /

Je fait exactement comme il me dise, j'ai également suivi tout vos conseil mais pas moyen que sa marche je mit prend peut être mal je sait pas ..

KOogar le .htaccess je le mes bien dans le bon dossier j'ai créer un dossier test dedan un fichier test.php avec le .htaccess et c'est tout et se que je veux c'est quand tapant l'url test.html sa me redirige sur test.php, je ne comprend pas pourquoi je n'y arrive pas ..
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut