2015-05-19 45 views
2

我有一個小的PHP腳本,爲論壇簽名生成圖像(GD)。打電話給他們有一個網址,如:http://www.example.net/img/imgtype_NN.pngRewriteCond:如果圖像存在,然後顯示它,否則生成它

其中: - imgtype是我想 簽名的類型 - NN是

當我把這個網址我想測試,如果圖像的ID該圖像已經存在於目錄中(即,如果它已經被生成),並且在這種情況下我想顯示它。

否則我希望我的腳本生成它,然後顯示它。

這是我實際的.htaccess:

RewriteCond %{REQUEST_URI} img/(.*)_(.*).png$ 
RewriteCond %{DOCUMENT_ROOT}/signatures/img/%1_%2.png -f 
RewriteRule img/(.*)_(.*).png$ /signatures/img/$1_$2.png [L] 

RewriteRule img/(.*)_(.*).png /signatures/signatures.php?signature=$1&id_pop=$2 [L] 

圖像存儲在example.com/signatures/img/和PHP腳本位於example.com/signatures/signatures.php

經過數小時的嘗試,我沒有完全滿足我需要的東西,現在我放棄了,我需要一些幫助。

謝謝你們!

+1

我不得不動因爲他已經在檢查現有文件(並重定向到index.php),所以在Wordpress之前有一些規則。所以現在它工作。 謝謝賈斯汀! – Cyc

回答

2

那麼,你的代碼是不是最好的,所以也許你的問題是由於一些語法錯誤。
無論如何,你可以試試這個版本(把這個代碼在你 htaccess的)

RewriteEngine On 

RewriteCond %{DOCUMENT_ROOT}/signatures/img/$1_$2\.png -f 
RewriteRule ^img/(.+)_(.+)\.png$ /signatures/img/$1_$2.png [L] 

RewriteRule ^img/(.+)_(.+)\.png$ /signatures/signatures.php?signature=$1&id_pop=$2 [L] 

確保您已啓用mod_rewrite的並允許在htaccess的Apache配置

+0

其實我的代碼工作... 50%的時間。我試過你的,但我不明白爲什麼第一個RewriteCond現在已經消失了。 (%{REQUEST_URI})。有了這段代碼,它根本不起作用:) – Cyc

+0

'REQUEST_URI'在這裏沒用,因爲你已經在'RewriteRule'中匹配它了。我真的很驚訝你的代碼隨機工作(50%的時間),這很奇怪。你有沒有工作和非工作的網址的例子?另外,你的htaccess在根文件夾?你有其他規則嗎?其他子文件夾中是否還有其他htaccess文件? –

+0

請注意,請求的網址是/img/___.png,但文件位於/ signatures/img /這就是爲什麼我添加了%REQUEST_URI。有沒有工作和其他人的網址,但當我F5相同的網址有時它有時不工作。 – Cyc

相關問題