Je veux que "-xxx" soit ajouté à la fin du nom de fichier lorsqu'un utilisateur les télécharge sur tous les fichiers mp3 résidant sur mon serveur. Exemple:
fichier sur le serveur: fichier.mp3
lorsque l'utilisateur télécharge: fichier-xxx.mp3
J'ai googlé quelque chose qui est assez proche de ce que je veux:
https://forums.digitalpoint.com/threads/htaccess-rename-mp3.128317/
Comme je ne veux pas être limité à un dossier en particulier et que je souhaite que tous les fichiers .mp3 soient renommés à la volée, j'ai essayé ceci:
RewriteEngine on
RewriteBase /
RewriteRule ([^.]+)-by-domain\.mp3$ $1.mp3 [L]
mais pour une raison quelconque, je ne peux pas le faire fonctionner, les fichiers ne sont pas renommés.
Toute aide serait appréciée. Merci!
file.mp3
, le client y aura accèsfile-xxx.mp3
et RewriteRule autorisera simplement le fichier nomméfile.mp3
à être renvoyé sous le nom de fichier demandé.Réponses:
Ce qui suit a fonctionné lorsque testé sur mon serveur
Cela fonctionne comme suit - La RewriteRule est divisée en 4 parties,
Le script ne prend que le préfixe du fichier d'origine - la partie ^ / (. *), Puis le reconstruit dans une nouvelle URL (le $ 1 contient la partie entre les crochets dans la partie ci-dessus).
Le ([0-9] +) détecte le numéro unique. Ainsi, si vous souhaitez faire quelque chose de plus sophistiqué plus tard, vous pouvez écrire (par exemple) un script PHP permettant à l'utilisateur de télécharger le fichier et consigner les informations le concernant. en modifiant la règle de réécriture en
(Bien entendu, vous devrez également écrire le script php, mais l'exemple ci-dessus montre la logique de la façon dont la règle de réécriture traite l'URL en plusieurs parties.)
la source