Bonjour tous le monde,

J'ai un problème d'accès à mes images après l'application d'une règle de réécrite d'URL sur mon serveur Debian/Nginx/PHP server.

Capture d'écran : https://i.stack.imgur.com/ia8j8.png

Mes images n'apparaissent pas

Voici ma structure

Class
css
img
...
et mon fichier.php ici

Fonctionne pas / Fonctionne

Ne fonctionne pas

Si mon image est stocké dans /img/subfolder/img.svg

<img src="/img/subfolder/img.svg">

Fonctionne

Si mon image est stocké dans /img/img.svg

<img src="/img/img.svg">

Ma règle de rewriting avec Nginx

rewrite ^/(.)/(.)/(.*)$ /index.php?app=$1&page=$2&param=$3;

Vous sauriez d'où viens le problème ? Quelle chemin dois-je utiliser pour que ça fonctionne ?

Merci d'avance,

1 réponse


Martin40
Auteur
Réponse acceptée

Pour ceux qui rencontrerais le même problème.

J'ai changé ma règle de réecriture d'URL comme ceci :

location / {
    try_files $uri $uri/ =404;
    rewrite ^/(.*)/(.*)/(.*)$ /index.php?app=$1&page=$2&param=$3;
}

en

location / {
    try_files $uri $uri/ =404;
}

location /app {
    rewrite ^/app/(.*)/(.*)/(.*)$ /index.php?app=$1&page=$2&param=$3;
}

La différence est que la règle est appliquée uniquement lorsque je demande

mywebsite.com/app/...

Donc mes nouveaux liens sont formatés comme ceci :

mywebsite.com/app/myapp/mypage/param

Au lieu de :

mywebsite.com/myapp/mypage/param