2012-09-24 26 views
0

我正在做的.htaccess我的網頁,下面的代碼:損失由於格式爲.htaccess

Options -Indexes 

RewriteEngine On 
RewriteRule ^([A-Za-z]+)/([0-9]+)/$ files.php?row=$1&column=$2 

RewriteRule ^([A-Za-z]+)/?$ $1/1/ 

RewriteCond %{HTTP_REFERER} !^http://(www\.)?mywebpage\.at [NC] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} ^http://.*$ 
RewriteRule \.(jpe?g|gif|bmp|png)$ /imgs/hotlinks.png [L] 

RewriteCond %(REQUEST_URI) ^imgs/$ [NC] 
RewriteRule/- [F] 

ErrorDocument 404 /404.html 

ErrorDocument 403 /403.html 

的問題是,我的圖片沒有顯示在重寫網址的頁面了。顯然,他們的路線也受到重寫的影響。簡單地解釋:位於www.mywebpage.at/imgs/pic1.jpg的圖片載入www.mywebpage.at/files.php?row=first & column = 3,但是當我嘗試輸入www.mywebpage.at/第一個/ 3 /瀏覽器在www.mywebpage.at/first/3/imgs/pic1.jpg中查找圖片,顯然無法加載它。

我該如何解決這個問題,使圖像的路徑不會改變,無論從哪裏使用它們?

+0

使鏈接靜態。把你的域名放在每個網址的前面:'http://site.com/img/pic1.jpg' –

+0

@Rune毫無疑問,這可以工作,但我一直在尋找一個更優雅的解決方案。 – Variax

回答

2

你可以這樣做:

RewriteCond $1 !^(imgs) 
RewriteRule ^([A-Za-z]+)/([0-9]+)/$ files.php?row=$1&column=$2 

這將改寫除了IMGS夾中的一切。

編輯:道歉,誤讀的問題。

使您的圖像路徑絕對。例如。相對路徑是:

imgs/image1.jpg 

絕對路徑是:

/imgs/image1.jpg 

開頭的斜線告訴它去現場的根源,然後去IMGS,然後image1.jpg。

+0

這不是問題。我需要的是一種方法來告訴服務器從域的根目錄查找圖像文件夾,而不是從重寫的URL – Variax

+0

請檢查我的編輯:-) – David

+1

工作正常。不過,我想我會使用標記,只是爲了避免檢查我所有的代碼,檢查每一個鏈接。謝謝! – Variax