2012-10-10 64 views
0

我有一個小問題。 我對圖像的色彩,自定義代碼,我用重寫規則,使之更短:RewriteRule無法正常工作

RewriteRule ^cc-(.*?)-(.*?)\.png$ cc.php?col1=$1&col2=$2 [L] 

當我輸入localhost/GEN/CC-1122ff-ffffff.png它通常會打開我。 但是,當我要添加文本與PHP這個生成的圖片我用另一種重寫規則:

RewriteRule ^sig,(.*?),(.*?),(.*?),(.*?),([^,]+),(.*?),([^,]+)\.png$ test.php?nam=$6&font=$5.ttf&bg=$7.png&gn=$1&badg=$2&typ=$3&itm=$4 [L] 

我去這個鏈接:本地主機/ GEN/SIG,Y,Y,MEM,無,像素,測試,CC-1122ff-ffffff.png 我得到這個錯誤:

Warning: imagecreatefrompng(cc-1122ff-ffffff.png): failed to open stream: No such file or directory in D:\Xampp\htdocs\Gen\test.php on line 31 

第二重寫規則正常工作,例如用本地主機/根/ SIG,Y,Y,MEM,無,像素,測試,白.png 第二個RewriteRule不適用於第一個RewriteRule。爲什麼?

+1

那麼,首先以'[L]'結尾,標識它爲「最後」規則(如果匹配的話不會運行其他程序)。您應該在任何情況下發布整個相關配置(或.htaccess)以幫助查明錯誤。 – Kato

+0

@Kato - 添加爲答案 –

回答

1

imagecreatefrompng當URL是相對的時候不會發出HTTP請求(如cc-1122ff-ffffff.png);它將其視爲文件路徑。

如果您將網址設置爲絕對網址,例如localhost/Gen/sig,y,y,mem,no,Pixel,test,http%3A%2F%2Flocalhost%2FGen%2Fcc-1122ff-ffffff.png,imagecreatefrompng會將其視爲網址,而不是文件路徑。