Débogage .htaccess

Il y a quelques jours, j’ai eu un problème avec l’écriture de mon premier access htaccess afin de supprimer l’extension .html de l’URL. Il y avait des problèmes parce que j’avais un serveur Windows que j’ai changé pour Linux.

Maintenant, le problème est le suivant: j’ai finalement réussi à supprimer l’extension .html de l’URL. Ce que je ne peux pas faire, c’est définir une date d’expiration pour toutes les images (JPEG, PNG, SVG).

Mon code de travail est le suivant (suppression de l’extension):

RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.html [NC,L] 

Pour le paramètre de cache d’image, j’ai ajouté les éléments suivants:

 //Caching schema  Header set Cache-Control "private, max-age=160704000"  

Lorsque j’ai ajouté le code supplémentaire ci-dessus, j’ai reçu une erreur de serveur interne. Je ne sais pas ce qui se passe pour être honnête. Si je supprime ce code supplémentaire, cela fonctionnera, mais si j’ajoute ceci, il ne le fera pas.

Avez-vous des idées sur la façon d’append un paramètre de cache d’image? Le code supplémentaire ci-dessus ne fonctionne pas 🙁

MISE À JOUR Après quelques recherches, j’ai essayé celle-ci:

  ExpiresActive On # Expires after 1 month  Header set Cache-Control "max-age=2592000"  # Expires after 1 day  Header set Cache-Control "max-age=86400"   

Étonnamment, cela fonctionne. Je l’ai testé avec gtmesortingx.com. Vous pensez que je devrais avancer maintenant?

Définissez AllowOverride All dans la configuration de votre serveur pour l’hôte. Faites cela pour le répertoire où réside votre htaccess plutôt que le serveur entier, par exemple

  AllowOverride All  

Le problème est que votre syntaxe est valide, mais le serveur refuse de traiter la demande car AllowOverride est défini sur autre chose que «All», ce qui est nécessaire à FilesMatch.

Si vous ne souhaitez pas définir AllowOverride sur All pour le fichier .htaccess, vous pouvez déplacer l’ dans la configuration hôte de votre site et celle-ci fonctionnera à partir de là.