Désactiver le 404 Page sur certains fichiers .php

Quand le module « Bloquer les pages 404 sur les fichiers PHP » présent dans l'onglet « Pare-feu » est activé, il redirige les personnes qui tentent d’accéder à des fichiers PHP cachés ou malicieux sur une erreur 404 page non trouvée.

Que le fichier existe sur votre serveur ou pas, elles n'auront donc jamais d'info à ce sujet, uniquement une page 404.

Il peut arriver que vous ayez besoin de conserver l'accès à certaines urls précises en .php sur un site.

Exemple : Un site anciennement avec des urls en .php (https://example.com/mon-super-article.php) indéxées par Google mais sous WordPress maintenant avec des urls réécrites (https://example.com/mon-super-article) 

Pour ne pas perdre du SEO, il est nécessaire que ces urls en.php ne passent pas en 404 mais soient redirigées vers leur nouvelle url via une règle dans .htaccess comme ceci :
Redirect 301 /mon-super-article.php/ /https://example.com/mon-super-article/

Depuis SecuPress v2.1 nous avons ajouté un hook de filtre nommé secupress.plugins.ban_404.bypass pour contourner le blocage sur des urls de votre choix. En FTP dans le fichier functions.php de votre thème enfant, ou en plugin ajouter le filtre sous cette forme :

add_filter( 'secupress.plugins.ban_404.bypass', function( $result, $url ) {
if ( ( 'https://example.com/mon-super-article.php' === $url ) ) {
		return true;
	}
	return $result;
}, 10, 2 );