J'ai cette conf,
rewrite "^download/([0-9a-f]{32})/(.+)$" /download.php?h=$1&f=$2 last;
location / {
index index.html;
}
location ~ .php$ {
fastcgi_pass unix:/var/run/php-fpm.apache.sock;
fastcgi_index index.html;
fastcgi_param SCRIPT_FILENAME $root_path$request_filename;
include fastcgi_params;
}
Mais quand j'essaye d'ouvrir l'url, http://example.com/download/d3ef6bbeaff9b429680bca646e8ee1cf/video.mp4
C'est le retour 404 Not Found
J'ai essayé de mettre rule
dans tous location
, mais cela n’a pas aidé.
Lien direct vers le fichier http://example.com/download.php
fonctionne, que faut-il faire pour le travail rewrite
?
J'ai vu beaucoup de choses à ce sujet, mais les solutions ne m'ont pas aidé, qu'est-ce qui ne va pas?
Sur le serveur nginx + php-fpm
Réponses:
1 pour la réponse № 1La réécriture de Nginx correspond toujours à l’URI complet qui commence par une barre oblique. Vous devez donc corriger votre réécriture:
rewrite "^/download/([0-9a-f]{32})/(.+)$" /download.php?h=$1&f=$2 last;