Comment cela ne fonctionne pas?
Il est supposé masquer le répertoire / uploads / sur le serveur.
RewriteCond "%{REQUEST_URI}" "^artwork" RewriteRule ^\/artwork\/\w+\/(.{32})-(\d+)&(\d+).jpg|gif|jpeg uploads/covers/$1.jpg [L] RewriteCond "%{REQUEST_URI}" "!^/artwork" RewriteRule (.*) public/$1
URL: example.com/test
devrait aller à public/index.php?url=test
(cela fonctionne bien)
URL: example.com/artwork/avatar/qmsdkfj-40&40.jpg
devrait aller à = /uploads/qmsdkfj.jpg
Cela fonctionne bien si je supprime le deuxième RewriteRule, mais quand je l’ajoute à nouveau, il redirige toujours vers public / index.php. Notez que la deuxième rewriterule envoie tout à public / folder. Je pense que [L] ne l’oblige pas à arrêter.
J’ai trouvé la faute. Après avoir redirigé ^ artwork, il redirigeait toujours ^ uploads
Donc, c’est le nouveau code de travail
RewriteRule ^\/?artwork\/\w+\/(.{32})-(\d+)&(\d+).jpg|gif|jpeg uploads/covers/$1.jpg [L] RewriteRule ^(?!artwork|uploads)(.*) public/$1
J’espère que cela aide quelqu’un d’autre.