1 votes

htaccess rewrite ?

J'ai un script qui télécharge des images, crée un hash pour celles-ci, crée 3 répertoires et stocke l'image sur

imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg

(le "536_" est l'identifiant de l'utilisateur)

J'essaie donc de tourner

imgs/f3s/v5g/234/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg

en

user_pics/536/536_f3sv5g2344270fd093ee8a9bf8de3de32dad.jpg

Comment puis-je faire cela ? Je veux que si quelqu'un veut voir la photo, il voit le nouveau répertoire dans l'url, pas celui avec 3 sous-répertoires.

EDITAR

La méthode de Jon fonctionne donc, mais je dois ajouter RewriteRule .* index.php/$1 [PT,L] dans mon htaccess. quand je l'ajoute, tout s'arrête de fonctionner comment cela se fait-il ?

Voici ce que j'ai pour l'instant

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$1 [PT,L]
RewriteRule ^user_pics/([^/]+)/[^ ]+ (.{3})(.{3})(.{3})(.*).(jpe?g|gif|png)$ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]

0 votes

Pour "108_" vous voulez dire, dans l'url que vous avez donné "536_" ? pourquoi créez-vous tous ces dossiers pour sauvegarder l'image ?

0 votes

Désolé, c'est réparé :p. et je les ai créés parce qu'il y aura BEAUCOUP (des millions) d'images sur ce serveur et qu'il faut donc les répartir uniformément.

0 votes

A ajouté des modifications à cette question....

1voto

Jon Lin Points 1323

Essayez :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^user_pics/([^/]+)/[^_]+_(.{3})(.{3})(.{3})(.*)\.(jpe?g|gif|png)$ /imgs/$2/$3/$4/$1_$2$3$4$5.$6 [L]

0 votes

Merci, mais cela n'a pas fonctionné

0 votes

Nvm cela a fonctionné mais il y a un problème... j'ai besoin d'avoir cette règle dans mon htaccess RewriteRule .* index.php/$1 [PT,L] Quand je l'enlève, il fonctionne, mais quand je le remets, il ne fonctionne pas. pourquoi ?

0 votes

@flyenig Vous devez placer la règle de redirection au-dessus de toute règle de routage (par exemple, votre "route everything to index.php ").

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X