2012-05-01 36 views
1

我創建了一個簡單的國防部重寫我的網站:在所有影像/ JS等不露面htaccess的mod_rewrite的排除圖像/ CSS

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^/(cgi-bin|css|images|js|gfx)/?.*$ [NC] 
RewriteRule ^filter/model/([^/]*)/mins/([^/]*)/texts/([^/]*)/freegifts/([^/]*)/network/([^/]*)/merchant/([^/]*)$ /fiverrr.php?model=$1&mins=$2&texts=$3&freegifts=$4&network=$5&merchant=$6 [L] 

但它似乎並沒有工作(如)

例如http://mydomain.com/filter/model/Sony+Ericsson+Xperia+Arc+S+White/mins/+3000/texts/+-1/freegifts/FREE+Nintendo+3DS+Black/network/Orange/merchant/

原始地址:http://mydomain.com/fiverrr.php?model=Sony+Ericsson+Xperia+Arc+S+White&mins=+3000&texts=+-1&freegifts=FREE+Nintendo+3DS+Black&network=Orange&merchant=Contract

我要去哪裏錯了,這是最好的方法是什麼?

非常感謝

+1

RewriteCond不應該在RewriteRule之前出現嗎? –

+0

是的,它應該。交換它們並且規則將不會觸發/ css/... URIs等。 – TerryE

+0

我將它們交換並且URL從未工作:( –

回答

0

儘量把有另一種情況 - htaccess的將改寫它只有在請求的文件不存在:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^filter/model/([^/]*)/mins/([^/]*)/texts/([^/]*)/freegifts/([^/]*)/network/([^/]*)/merchant/([^/]*)$ /fiverrr.php?model=$1&mins=$2&texts=$3&freegifts=$4&network=$5&merchant=$6 [L] 

而且我建議你檢查的完整路徑。檢查您的HTML代碼中是否有圖片:http://mydomain.com/images/img.jpg - 像./../images/img.jpg這樣的相對路徑不起作用!

+0

完美,謝謝:) –