2011-10-14 84 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