0

Webページに.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

問題は、URLが書き換えられたページに画像が表示されないことです。どうやら、彼らのルートも書き直しの影響を受けています。簡単に説明すると、www.mywebpage.at / imgs / pic1.jpgにある画像はwww.mywebpage.at/files.php?row=first&column=3に読み込まれますが、www.mywebpage.at /first/と入力しようとすると3 /ブラウザはwww.mywebpage.at/first/3/imgs/pic1.jpgで画像を探しますが、明らかに画像の読み込みに失敗します。

どこから使用しても画像のルートが変わらないようにするにはどうすればよいですか?

4

1 に答える 1

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に移動するように指示しています。

于 2012-09-24T10:17:39.803 に答える