Notre site a fermé et nous devons donner une redirection 410 aux utilisateurs. Nous avons un petit site de remplacement d'une page configuré dans le même domaine et une page d'erreur 410 personnalisée. Nous souhaiterions que toutes les pages consultées reçoivent une réponse 410 et soient redirigées vers la page d'erreur, à l'exception de la page d'accueil qui devrait pointer vers le nouveau index.html
.
Voici ce que dans le . Htaccess :
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^index\.html$ index.html [L,R=410]
Cela fonctionne, sauf pour une chose: Si je tape le nom de domaine, je reçois la page 41.
Avec www.example.com/index.html
je vois la page d'index comme je le devrais, mais juste www.example.com
obtient 410. Comment puis-je résoudre ce problème?
Si je suis ce que vous essayez de faire, je pense que cela fonctionnerait.
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* - [L,G]
Si la ressource n'existe pas (ce n'est ni un fichier ni un répertoire), envoyez le 410.
Créez une page appelée maintenance.html
(ou l’extension de fichier nécessaire pour la langue de choix du serveur), puis utilisez le code suivant:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC]
RewriteRule .* /maintenance.html [R=410,L]
</IfModule>
Ceci affichera toujours maintenance.html
quelle que soit la page demandée dans leur navigateur.