2011-10-14 44 views
0

遗憾的路径。如果这是一个常见的问题,我需要一个明确的答案:重写规则,给一个参数

我要像一个URL重写:

/foo/foo0.php?img=foo1/foo2/foo3/bar.jpg 

成这样:

/foo/foo1/foo2/foo3/bar.jpg 
+0

你使用什么服务器?你有什么尝试? – PPvG

+0

@PPvG'RewriteRule^foo /(.*/.*/.*/.*)$ foo/foo0.php?img = $ 1' 不起作用:( – user544262772

回答

2
RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)$ $1/foo0.php?img=$2/$3/$4/$5 [L] 

愿意这样做吗

编辑

从您已经添加你实际的代码来看要做到这一点是这样的:

RewriteRule ^foo/(.*)/(.*)/(.*)/(.*)$ foo/foo0.php?img=$1/$2/$3/$4 [L] 
+0

应该是?常见用法? 是那是正确的?'RewriteRule^foo /(.*/.*/.*/.*)$ foo/bar0.php?img = $ 1' – user544262772

+0

对不起选择不好的单词,我只是说它没有经过测试。 'm意识到这是一种常见的重写规则 – Clive

+0

@Oddant:我已经更新了答案,试试这个。 – Clive

1

基础上的评论,我不认为是真正需要的多段。这应该足够了:

RewriteRule ^foo/(.*)$ foo/foo0.php?img=$1 [L] 

这将允许您使用任意数量的foo段。

+0

是安全的为我的服务器? – user544262772

+0

可能不会比其他解决方案更安全,因为它们都允许所有(有效)字符。当然,无论如何,你应该清理任何和所有的用户输入。 – PPvG