désolé si c'est une question commune, je besoin d'une réponse précise:RewriteRule, pour donner un paramètre un chemin
Je veux réécrire une URL comme:
/foo/foo0.php?img=foo1/foo2/foo3/bar.jpg
dans ce:
/foo/foo1/foo2/foo3/bar.jpg
désolé si c'est une question commune, je besoin d'une réponse précise:RewriteRule, pour donner un paramètre un chemin
Je veux réécrire une URL comme:
/foo/foo0.php?img=foo1/foo2/foo3/bar.jpg
dans ce:
/foo/foo1/foo2/foo3/bar.jpg
RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)$ $1/foo0.php?img=$2/$3/$4/$5 [L]
fera-t-il
EDIT
A en juger par le code que vous voulez vraiment faire avez ajouté comme ceci:
RewriteRule ^foo/(.*)/(.*)/(.*)/(.*)$ foo/foo0.php?img=$1/$2/$3/$4 [L]
Devrait? Est-ce une utilisation courante? Est cela correct? 'RewriteRule^foo /(.*/.*/.*/.*)$ foo/bar0.php? img = $ 1' – user544262772
Désolé mauvais choix de mots, je voulais juste dire qu'il n'a pas été testé. Je suis conscient que c'est à peu près aussi courant qu'il obtient pour une règle de réécriture – Clive
@Oddant: J'ai mis à jour la réponse, essayez cela – Clive
Sur la base des commentaires, je ne pense pas que les multiples segments sont vraiment nécessaires. Cela devrait être suffisant:
RewriteRule ^foo/(.*)$ foo/foo0.php?img=$1 [L]
Cela vous permettra d'utiliser un certain nombre de segments foo
.
est-ce sécurisé pour mon serveur? – user544262772
Probablement pas moins sécurisé que l'autre solution, étant donné qu'ils autorisent tous les caractères (valides). Bien sûr, vous devriez désinfecter toutes les entrées utilisateur de toute façon. – PPvG
Quel serveur utilisez-vous? Qu'avez-vous essayé? – PPvG
@PPvG 'RewriteRule^foo /(.*/.*/.*/.*)$ foo/foo0.php? Img = $ 1' ne fonctionne pas :( – user544262772