2012-01-21 115 views
0

這可能是更多的檢查不是問題,但下面的正確:圖像改寫

RewriteRule ^_images/(.*)_(.*)_(.*)$ /_images/$2_$3 [L] 

基本上,我想要自動進​​行網頁使用/_images/picture-name_ABC123_600.jpg(這是不存在的),但實際使用圖片/_images/ABC123_600.jpg確實存在。

我給它在XAMPP本地檢查,並工作,但我雖然我最好嘗試添加更多的下劃線,例如。我期待工作的/_images/picture-name_A_B_C_1_2_3_600.jpg,但圖像仍然出現 - 這是正常的行爲?

我也不太清楚,如果我可以使用上面的兩個美元符號之間的下劃線...

任何幫助將是巨大的!

回答

0

這不會工作,因爲(.*)是貪婪的,並匹配儘可能多的字符,甚至下劃線。像這樣的東西(不是在隔板之間下劃線允許):

RewriteRule ^_images/([^_]*)_([^_]*)_([^_]*)$ /_images/$2_$3 [L] 

或本(ungreedy匹配):

RewriteRule ^_images/(.*?)_(.*?)_(.*?)$ /_images/$2_$3 [L] 

或兩者的組合應該工作。 (根據每個塊內允許的字符數)

+0

這一個,謝謝! – MrJ