Mod-Rewrite
帶有查詢字元串的圖像的 mod_rewrite 規則
我是 mod_rewrite 新手和正則表達式新手,但這是我想做的:
我有一個腳本可以即時調整圖像大小。我希望能夠獲取任何圖像文件路徑,向其中添加查詢字元串,然後將其自動發送到腳本進行處理。
所以像:
from: http://mysite.com/images/logo.jpg?w=100&h=50 to: http://mysite.com/images/thumbs/phpThumb.php?src=logo.jpg&w=100&h=50
當然,如果沒有指定查詢字元串,它應該只是指向原始文件。
使用
.htaccess
/images 中的文件,我得到了這個。但它根本不起作用。或者充其量,它破壞了我所有的網站圖片:<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^.* RewriteRule ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) /thumbs/phpThumb.php?src=$1 [L,QSA] </IfModule>
首先添加一個RewriteBase,這將刪除
/images/
查詢字元串中的部分。你會得到photo.jpg?w=...
而不是/images/photo.jpg?w=...
.第二個添加
/images/
到重定向,因為您目前的重定向告訴 go tohttp://mysite.com/thumbs/phpThumbs...
而不是http://mysite.com/images/thumbs/phpThumbs...
.這給出了這樣的結果:
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /images/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^.+ RewriteRule ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) /images/thumbs/phpThumb.php?src=$1 [L,QSA] </IfModule>