Ce que dis un internaute dans le forum que tu m'as dit mojorisin301J'ai plus de 500 redirections 301 et cela roule bien
Ca c'est une bonne idée et c'est la solution je pense, si le serveur ne renvoit pas d'office le code 404 mais laisse faire le fichier PHP de la page 404 personnalisée. Je pense que c'est le cas, donc c'est pour moi la solution, je n'y avais pas pensé, mais je ferai ça après avoir vérifié pour la forme que le serveur ne renvoit pas le code 404 de lui même..indigene a dit:Tu fais ça dans la page d'erreur 404 personnalisée, comme ça tu as une seule ligne à mettre dans le htaccess et pour les milliers d'urls qui sont à la nouvelle sauce tu n'auras pas à te poser de questions de redirection.
UsagiYojimbo a dit:C'est pas génial de faire une 301 après une 404. Ca n'a aucun sens.
Oui ça n'a aucun sens!UsagiYojimbo a dit:C'est pas génial de faire une 301 après une 404. Ca n'a aucun sens.
Le souci de cette technique c'est que certains hébergements envoie un code 404 dans tous les cas ... Je l'ai constaté chez free a une époque ça a pu évoluer depuis.FortTrafic a dit:Le faux 404 fonctionnerait comme ça :
ErrorDocument 404 /moncode.php
Oui ça en revanche c'est pas con dans le principe mais tu peux utiliser l'ordre des règles pour le réaliser sans te "casser la nenette".FortTrafic a dit:le coup du faux 404 cest une solution ingenieuse
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
ErrorDocument 404 /blog/test.php
Surtout pas. index.php est un fichier du core de wordpress, à ne jamais toucher (d'autant plus que la modif sera écrasée à chaque mise à jour)zeb a dit:Je connais mal Wp mais là ton htaccess renvoie toutes les requêtes sur "/blog/index.php" que tu as du installer dans le dossier "blog".
Vas dans ce dossier ouvre le fichier "index.php" et met ton test d'anciennes url en ligne 2. Tu interviendra donc en amont du traitement Wp via php (n'oublie pas de sortir de la condition avec un exit() une fois le taf réalisé)
Oui dans le principe je partage ton avis sur intervenir sur le core, mais bon si tu le sait et que ça se borne a rajouter un include c'est gérable et de toute façon vue le fichier en question (je l'ai sous les yeux là) je doute qu'une update y change quoi que ce soit.Marie-Aude a dit:d'autant plus que la modif sera écrasée à chaque mise à jour
<span class="syntaxdefault"></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br /></span><span class="syntaxcomment">/**<br /> * Front to the WordPress application. This file doesn't do anything, but loads<br /> * wp-blog-header.php which does and tells WordPress to load the theme.<br /> *<br /> * @package WordPress<br /> */<br /><br />/**<br /> * Tells WordPress to load the WordPress theme and output it.<br /> *<br /> * @var bool<br /> */<br /></span><span class="syntaxdefault">define</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'WP_USE_THEMES'</span><span class="syntaxkeyword">, </span><span class="syntaxdefault">true</span><span class="syntaxkeyword">);<br /><br /></span><span class="syntaxcomment">/** Loads the WordPress Environment and Template */<br /></span><span class="syntaxkeyword">require(</span><span class="syntaxstring">'./wp-blog-header.php'</span><span class="syntaxkeyword">); </span><span class="syntaxdefault"></span>
zeb a dit:je suis pas certains qu'avec les conditions la ligne errordocument soit atteinte une seule fois par siècle
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Je suis même quasi sur du contraire vue que -f -d indique clairement que ce qui ne correspond pas a un fichier ou un dossier doit être traité par "/blog/index.php" et qu'après ça on exit [L]
+1 c'est pas faut et ça évite le traitement obligatoire en amont de WP qui reste ainsi en traitement frontal.Marie-Aude a dit:Donc le fichier 404.php du thème l'endroit où mettre le code (et en plus c'est propre ^^)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /old-site.php [L]
➡️ 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