J'utilise une application de diffusion d'images sur nginx/1.4.6 (Ubuntu), mais elle a été conçue pour Apache2. Les images sont téléchargées dans le répertoire "/ imageshare/images/extension /" où le nom du fichier est généré de manière aléatoire, mais l'URL générée par l'application est raccourcie et se trouve dans le domaine domain.tld/image/nom du fichier.
Le responsable de l'application donne des conseils sur .htaccess pour Apache2, mais indique qu'il ne peut fournir aucune aide pour Nginx. Que puis-je mettre dans mon fichier de configuration Nginx pour rediriger les images vers une autre URL sur le même domaine sans changer l'emplacement de ces fichiers?
Pour diriger l'URL domain.tld/image/filename
vers le chemin local /imageshare/images/extension/filename
, utilisez la directive alias
(voir this pour plus de détails):
location /image/ {
alias /path/to/imageshare/images/extension/;
}
Si vous voulez vraiment réécrire l'URL sur une autre URL, utilisez:
location /image/ {
rewrite ^/image(.*)$ /imageshare/images/extension$1 last;
}
Voir this pour plus de détails. Le modificateur last
fait que la réécriture soit interne , ce qui signifie que le client ne la voit pas. Utilisez redirect
ou permanent
pour rendre la redirection visible pour le client.