Hébergements Web - [WordPress] Tous les liens redirigent vers la page d'accueil
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

[WordPress] Tous les liens redirigent vers la page d'accueil

Von
Ghis
Erstellungsdatum 2019-03-06 13:48:21 (edited on 2024-09-04 12:48:54) in Hébergements Web

Bonjour,

Cela fait plusieurs jours que notre site a un problème avec l'utilisation des "pretty permalinks" (tout est redirigé vers la home) alors que cela fonctionnait parfaitement jusqu'à maintenant.

Nous avons changé notre structure de permaliens (/index.php/%year%/%monthnum%/%postname%.html au lieu de /%year%/%monthnum%/%postname%.html) mais cela n'est pas convenable (tous les liens de nos posts sur les réseaux sociaux deviennent invalides).

Quelqu'un aurait-il une idée svp ?

Merci.


22 Antworten ( Latest reply on 2019-03-12 21:07:16 Von
Ghis
)

concrètement, si tu disais où trouver les liens qui ne te conviennent ?

(perso c'est curieux de faire apparaître un index.php, souvent on le cache)

ton .htaccess est vieux? tu l'a renommé et refais?

Salut @kyodev,

Désolé, j'ai essayé de faire court car j'ai expliqué le problème sur plusieurs pages dans mon lien WPFR.

En fait, nous avions des permaliens de type /%year%/%monthnum%/%postname%.html. Du jour au lendemain (sans mise à jour de WordPress, ni des plugins), tous les liens ramènent sur la home.

En faisant divers tests et vérifications, le seul type de permaliens accepté maintenant par notre WordPress est /index.php/%year%/%monthnum%/%postname%.html.

Mon .htaccess est celui de base et est OK à priori.

Merci.

PS : j'ai modifié temporairement les permaliens en /index.php/%year%/%monthnum%/%postname%.html pour que les articles restent accessibles.

oui, mais je ne vais pas relire 57 post sur un forum rempli d'immobilistes...
et parfois, vaut mieux reprendre d'un oeil propre

pour l'instant, je ne vois pas de soucis sur ton site, d'où ma question où le problème?
mais si je comprends ton deuxième message, tes permaliens actuels sont pour assurer le fonctionnement

d'où ma suggestion de refaire un .htaccess propre, avec le temps parfois, des directives s'accumulent...

* renommer .htaccess en .htaccess.0 (juste pour le désactiver)
* administration WP / réglages / permaliens: enregistrer

tu as un .htaccess tout neuf, ca marche mieux?

Avec ta manipulation et un .htaccess tout neuf (qui contient exactement la même chose que l'ancien), aucun changement.

actuellement ton site fonctionne ou pas?

Le site fonctionne uniquement avec des permaliens de type : /index.php/%year%/%monthnum%/%postname%.html

Bonjour, personne n'a d'autres idées svp ?!

tu n'es pas sur un forum WP
tu as as des soucis, je te conseille le forum En de WP, pas le Fr (indépendant, juste une assoc.française)
on ne peut rien tester, donc ça va être à toi de checker tout ça

* pas de plugin redirection?
* dans ta base, tu retrouves ces liens en dur?

Salut @kyodev,

Un collègue de boulot développeur a vu que j'avais 3 fichiers .htaccess à 3 endroits différents (racine, /www/ et /www/home) et on se demande si ça ne vient pas de là. Sachant que WordPress est dans le dossier /www/home.

Racine :

SetEnv PHP_VER 7_2
SetEnv REGISTER_GLOBALS 0
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://monurl.fr/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^monurl.fr$
RewriteRule ^(.*) https://www.monurl.fr/$1 [QSA,L,R=301]

Dossier /www/ :

SetEnv REGISTER_GLOBALS 0
SetEnv PHP_VER 7

DirectoryIndex index.php


Order allow,deny
allow from all


Order allow,deny
allow from all

#php_flag magic_quotes_gpc on


# BEGIN WordPress

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


# END WordPress

Dossier /www/home/ (WordPress est installé ici) :

# BEGIN WordPress

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


# END WordPress

Est-ce que tu vois quelque chose qui cloche svp ?

je sais pas lire quand le code n'est pas dans un balisage `code

les .htaccess se surchargent, donc 3 c'est ridicule, sinon casse-gueule

les redirections sont ... bof
des directives sont périmées... ou devraient l'être

donc /.htaccess et www/.htaccess sont à supprimer
dans `/www/home`:
```text
## démarrage moteur rewrite
RewriteEngine On

## no-www -> www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]
## http -> https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE,QSA]

# BEGIN WordPress

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


# END WordPress
```

comme tu es sur le cluster10, tu peux vérifier que tu n'as qu'un seul `.ovhconfig` à la racine de l'hébergement `/` ?
et dans celui ci, un container image stable
```text
app.engine=php
app.engine.version=7.2
http.firewall=none
environment=production
container.image=stable
```

si tu en vois d'autres dans `www` ou `www/home` à priori tu peux les enlever

@kyodev Merci pour tes réponses, je regarde ça ce soir.

Ton htaccess est-il adapté à la structure de notre site ? (le WordPress est dans /www/home/)

J'ai aussi édité mon précédent message avec les bonnes balises pour la lecture.

bonne question effectivement...
cette installation en sous répertoire est étonnante
je considère que le dossier racine dans multisite est `www/home`

si c'est `www` c'est curieux, qu'y a t il dans le dossier `www` (vide ou autre wp)?

si besoin le bloc WP avec dossier racine `www`:
```text
# BEGIN WordPress

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


# END WordPress
```

@kyodev, je te confirme n'avoir qu'un seul .ovhconfig à la racine et il est identique à celui que tu as posté.

Dans le dossier www, il y a tout le site.

J'ai supprimé les .htaccess inutiles, seul reste celui dans /home que j'ai mis à jour avec ton code. Si j'essaie de revenir aux permaliens d'origine /%year%/%monthnum%/%postname%.html, j'obtiens une erreur 404 ("The requested URL /homez.9/zeroyenm/ was not found on this server.")

Je ne sais pas du tout à quoi correspond ce /homez.9 ?

homez.9 est le home de ton hébergement

> Dans le dossier www, il y a tout le site.

je ne comprends pas... tu parlais de `/www/home/`

> je ne comprends pas... tu parlais de /www/home/

@kyodev, Oui, je voulais dire www contient le sous-dossier home. Il y a aussi l'ancien site dans d'autres sous-dossiers (mais on s'en tamponne). Désolé, je me suis mal exprimé.

D'accord, le homez.9 est normal donc. Mais c'est bizarre d'obtenir une erreur 404 avec le format de permaliens d'origine qui fonctionnait au départ (avant que tout parte en vrille sans aucune action de ma part).

> sans aucune action de ma part

hum... comme les 3 htaccess qui sont arrivé seuls?

si tu n'es pas capable de décrire clairement ton installation, c'est peut-être qu'elle n'est pas rationnelle
si des sites sont imbriqués les uns dans les autres... comment veux tu qu'une action sur l'un ne rejaillisse pas sur l'autre

pour ma part, mais je ne suis pas doué, je n'ai toujours pas compris l'emplacement et le pourquoi de tes répertoires

dans une de tes .htaccess, il y a bien un /home/ ...

tu n'as pas répondu:
**quel est dossier racine** de ton site, dans multisite?

@kyodev Ce n'est pas moi qui ai mis en place le site mais une ancienne connaissance qui nous a aidé lors de sa création. Je fais de l'informatique mais pas du développement, j'ai peu de connaissances dans ce domaine et ce n'est pas du tout mon métier. Ça fait 2 semaines que j'essaie de corriger ce problème en ne comprenant pas grand chose donc désolé si je ne suis pas toujours précis.

Il y a un seul site et non pas plusieurs. Le site est installé dans le dossier home.

ne t'étonne pas de ne pas avoir de réponse si tu n'es pas clair, c'est nouveau ? :
> home

j'ai quand même bien marqué les possibilités
`www/home` ou `home` ou autre ?

pour la 3e fois, qu'y a t il dans le dossier racine de multisite?

on tourne en rond, ou on n'avance pas, même après 20 messages... sans réponse claire, je laisse tomber
voir un prestataire

Le WordPress est installé dans www/home. Et ce n'est pas un multisite.

tu as des problèmes pour lire?
je te laisse relire... tu arriveras peut-être à comprendre les questions
et demain, sait on jamais

Tu n'es pas clair non plus dans tes demandes... Explique ce que tu entends par "dossier racine de multisite". Ce n'est pas une installation multisite. Le WordPress est installé dans www/home.