Hébergements Web - Redirection 301 ne fonctionne pas
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

Redirection 301 ne fonctionne pas

Von
DragoZen
Erstellungsdatum 2017-03-13 07:26:21 (edited on 2024-09-04 14:06:03) in Hébergements Web

Salut à tous,

J'essaye de rediriger une page de mon site Wordpress vers une autre mais malgré toutes mes tentatives rien ne fonctionne. La page à rediriger est `https://monsite.com/fr/forum/ffr` vers `https://monsite.com/fr/forum/` car j'utilise une page personnalisée pour afficher l’arborescence du forum.

Dans mon .htaccess, juste après :
RewriteEngine On
RewriteBase :

J'ai ajouté :
`Redirect 301 /fr/forum/ffr/ /fr/forum/`
ou
`RewriteRule ^/fr/forum/ffr/(/.*)?$ https://monsite.com/fr/forum/$1 R=301,L]`
ou
`Redirect permanent /fr/forum/ffr/ https://monsite.com/fr/forum/`

Mais rien à faire. Aucune redirection

Autre tentative:

function my_permalink_redirect($permalink) {
global $post;
if ($post->ID == "196") { //avec ou sans ""
$permalink = 'https://monsite.com/fr/forum/';
wp_redirect("'.$permalink.'", 301);
exit;
}
}
add_filter('get_the_permalink','my_permalink_redirect');

ou

function my_permalink_redirect($permalink) {
global $post;
if ($post->ID == 196) { //avec ou sans ""
$permalink = 'https://monsite.com/fr/forum/';
}
return $permalink;
}
add_filter('get_the_permalink','my_permalink_redirect');

Mais toujours rien. La seule solution qui fonctionne est lorsque j'utilise le plugin [Redirection
. Là effectivement ça marche mais j'aime autant ne pas utiliser un plugin pour si peu et puis après avoir cherché durant des heures je ne peux pas abandonner maintenant :stuck_out_tongue:

Merci


10 Antworten ( Latest reply on 2024-09-04 14:26:14 Von
Gaston_Phone
)

Et avec :
> RewriteRule ^fr/forum/ffr/(.*)$ https://monsite.com/fr/forum/$1 [R=301,L]

Merci Gaston_phone, effectivement ça fonctionne maintenant. J'ai ajouté cette ligne en #1 juste avant `RewriteEngine On` sinon la redirection ne s'opère pas.

Par contre j'ai un autre souci: Toutes les pages qui utilisent une cette url comme par exemple 'http://monsite.com/fr/forum/ffr/bienvenue' ou 'http://monsite.com/fr/forum/ffr/support' affichent une page erreur "La page n’est pas redirigée correctement".

Y'a-t-il un moyen d'appliquer cette redirection uniquement sur cette url sans briser les liens "enfants"? Sion reste la solution du plugin...

Merci

Domaine ? :)


J'ai ajouté cette ligne en #1 juste avant RewriteEngine On sinon la redirection ne s'opère pas.

Pas avant, mais après.
**_RewriteEngine On_** doit être **_avant_** toutes les lignes **_RewriteRule_**

Curieusement, quelque soit l'endroit où j'ajoute cette ligne après 'RewriteEngine On', la redirection ne fonctionne simplement pas :confused:

Voici mon .htaccess:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

# Redirect to HTTPS
RewriteCond %{SERVER_PORT} ^80$ [OR]
RewriteCond %{HTTPS} =off
RewriteRule ^(.*)$ https://monsite.com/$1 [R=301,L]

# Redirect www to non-www in HTTPS
RewriteCond %{HTTP_HOST} ^www\.monsite\.com [NC]
RewriteRule ^(.*)$ https://monsite.com$1 [R=301,L]

#HIDE directories content
Options -Indexes

Par "Domaine", souhaitez-vous connaître l'url de mon site? Si c'est le cas, est-il possible de vous le donner en privé et si oui comment?

Merci

> **_RewriteEngine On_**

>
> RewriteBase /
> RewriteRule ^index\.php$ - [L]
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteRule . /index.php [L]
>


Par "Domaine", souhaitez-vous connaître l'url de mon site? Si c'est le cas, est-il possible de vous le donner en privé et si oui comment?

Par message PERSO

Curieux ça, je n'arrive pas à trouver où vous envoyer un message PERSO. J'avoue que jusqu'ici je ne lisais principalement que l'ancien forum OVH :p

Pour info, j'avais créé un site test et là la redirection fonctionne correctement lorsque je l'insère juste en dessous de `RewriteEngine On` mais il reste ce deuxième souci que je n'arrive pas à régler...

Clique sur la tête de Gaston > Message privé

Serait-ce du au fait que je sois nouveau ici? Mais je n'ai pas ce bouton "Message privé" :confused:

Là je sèche. :(

Ok, merci de m'avoir aidé jusqu'ici en tout cas. Je reviendrai poster ici dès que je serai en mesure d'envoyer un message privé. En attendant, le plugin que 'utilise actuellement fera l'affaire :slight_smile:

Bonjour,
Je voudrais rediriger des pages mais ça ne fonctionne pas
voici mon fichier .htaccess
Redirect 301 dossier/sous-dossier/page-ancienne1.html http://www.monsite.com/nouvelle-page1.html
Redirect 301 dossier/sous-dossier/page-ancienne2.html http://www.monsite.com/nouvelle-page2.html


Et ça ne fonctionne pas ! J'ai récupéré la syntaxe sur internet. Alors je me dis qu'avec OVH c'est une autre syntaxe ??? Quelqu'un pourrait-il m'éclairer ?
Meilleurs voeux de fin d'année
Cordialement,


Redirect 301

Plutôt : Redirect permanent
C'est la syntaxe officielle.
On trouve tout et n'importe quoi sur internet !

Merci pour la réponse, oui, bien sûr, j'avais essayé également cette syntaxe, mais en fait, google me donne une page "no found" tout en ayant référencé une ligne plus haut la nouvelle url.
Y a t'il une syntaxe "officielle" pour retirer l'ancienne page ?
Cordialement,
Et bonne année, pleine de créativité !


Plutôt : Redirect permanent
C'est la syntaxe officielle.


https://httpd.apache.org/docs/2.4/fr/mod/mod_alias.html#redirect :
> On peut renvoyer d'autres codes en spécifiant le code numérique comme valeur de l'argument of état

donc redirect 301 est officiellement valide, comme redirect permanent, comme redirect tout simple


On trouve tout et n'importe quoi sur internet !


comme ici quoi ;)

```text


Y a t'il une syntaxe "officielle" pour retirer l'ancienne page


tu l'as employé... tu peux essayer avec un slash initial?
par exemple:
```text
Redirect /dossier/sous-dossier/page-ancienne1.html http://www.monsite.com/nouvelle-page1.html
``` ```

ok merci je vais essayer