是否可以在已重寫的URL上應用.htaccess重寫規則?在重寫的URL上應用htaccess重寫規則
例如: 我想用timthumb.php
(最新版本,因此應該沒有任何安全缺陷)重新調整圖片大小。但是URL看起來應該不錯,所以我創造了這個重寫規則:
RewriteRule ^rz/(.*)x(.*)/r/(.*) /themes/Nerdtalk/timthumb.php?src=$3&h=$2&w=$1&q=80
此規則工作正常,但啓動timthumb.php可以重新定向到一個緩存的文件之前,我想阿帕奇檢查,如果文件存在並讓Apache重定向到緩存文件,那麼timthumb.php將不會啓動。 因此,我創建了這個規則集:
RewriteCond %{SCRIPT_FILENAME} timthumb.php
RewriteCond %{QUERY_STRING} src=(.*)\.(png|jpe?g)&h=([0-9]+)&w=([0-9]+)&q=([0-9]+)
RewriteCond %{DOCUMENT_ROOT}/cache/%1-%4-%3-1-%5.%2 -f
RewriteRule ^.* /cache/%1-%4-%3-1-%5.%2 [L]
能已經重寫URL重寫第二次?
第二部分是否正確?
如果有可能合併這兩個規則集,你能告訴我怎麼做嗎?
感謝您的詳細解釋。但是讓Apache處理文件存在檢查而不是每次啓動PHP腳本都不是更快嗎? – Phil
@Phil你在說什麼?我想你很困惑這是如何工作的。請描述你對上述規則的理解。 – LazyOne
第一條規則重寫像/rz/714x357/r/screen.jpg到/themes/Nerdtalk/timthumb.php?src=screen.jpg&h=357&w=714&q=80的URL。 – Phil