Erreur 404 l'ors de l'accès aux medias
Par défaut avec la config exemple Nginx (du README.md) les médias ne sont pas affichés (erreur 404 à l'obtention du média, Nginix cherche le dossier medias/
à la racine su site). Voici une suggestion d'amélioration de l'exemple de configuration Nginx qui prend aussi en compte la gestion du multi-site via la variable X-FRAMA-SITE
(non documenté ou alors je n'ai pas trouvé) :
server {
listen 80 default_server;
listen [::]:80 default_server;
index index.html index.php;
root /var/www/html/VOTRESITE/;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
# Fait pointer l'url pour les media dans le dossier media du site en question
location /medias/ {
alias /var/www/html/sites/$host/medias/;
}
location ~ \.php$ {
fastcgi_pass localhost:9000;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
try_files $fastcgi_script_name =404;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
# SERVER_NAME obligatoire sinon erreur : https://github.com/bcosca/fatfree/issues/1084 ,
fastcgi_param SERVER_NAME $host;
# En fournissant la valeur de $host à X-FRAMA-SITE on peut fonctionner en mode multisite
# ou dans le dossier sites/ chaque site possède son propre dossier du nom de l'URL du
# site. Le dossier doit être préalablement crée en faisant une copie du dossier framasite/
# par exemple.
fastcgi_param X-FRAMA-SITE $host;
}
}