審視自己當前的URL重寫加載圖片:與htaccess的URL重寫與Apache卡住:1條規則來統治他們
// Possibiities: 1 letter char, followed by `=` then the value (numbers/letters)
// w= | h= | c= | q= | f=
IMG-bla/blue_w100.jpg >> imgcpu?src=bla/blue.jpg&w=100
IMG-bla/blue_cp.jpg >> imgcpu?src=bla/blue.jpg&c=p
IMG-bla/blue_h200.jpg >> imgcpu?src=bla/blue.jpg&h=200
IMG-bla/blue_w50_h200_fbw.jpg >> imgcpu?src=bla/blue.jpg&w=50&h=200&f=bw
基本上我想有1個終極重寫URL,這給我的自由地重寫下面的網址與任何財產,而不必硬編碼重寫的確切順序,每個可能性一個規則:目前我的代碼是非常愚蠢的,不實際的&不完整的,它的不雅,思想確實有用!
// works but utterly unelegant and unpractical as well as incomplete:
RewriteRule ^IMG-(.+)_w(.+).jpg$ imgcpu\.php\?src=$1\.jpg&w=$2 [L]
RewriteRule ^IMG-(.+)_w(.+)_h(.+)_c(.+).jpg$ imgcpu\.php\?src=$1\.jpg&w=$2&h=$3&c=$4 [L]
RewriteRule ^IMG-(.+)_w(.+)_h(.+)_f(.+).jpg$ imgcpu\.php\?src=$1\.jpg&w=$2&h=$3&f=$4 [L]
現在,我怎麼可以重寫與可選的物業資產這種複雜的規則?我在尋找那1條規則來統治他們。您的想法&建議熱烈歡迎,我美味地upvote任何敢於解決這個複雜的難題!
+1這是一個很棒的答案。我無法相信你在這個瘋狂的追求中支持我!它非常短而聰明。不幸的是,它不工作,但是,哎呀...看到我更新的答案,尤其是我必須編輯的最後一行代碼,以匹配坐在根中的我的imgcpu。 – Sam 2011-03-21 04:03:52
如果它不起作用,可能是因爲任何事情。想到的事情:1)您嘗試訪問的映像位於(虛擬)子目錄中。 2)在最後一條規則中,我忘了NC,因此路徑/文件名部分中任何帶大寫字母的內容都將失敗(404)。嘗試轉換到[NC,QSA]那裏。 3)別的東西。你有重寫日誌嗎? – nitro2k01 2011-03-21 18:37:04
非常感謝您的反饋。嘗試在最後一條規則中添加'NC,'infront OS QSA,但是相同:沒有圖片。我沒有重寫日誌啓用,因爲我不知道如何,這將是非常酷如果我能做到這一點,任何有用的鏈接,指示如何啓用日誌重寫? – Sam 2011-03-21 19:53:41