2

すべてのホットリンクされた画像を1つのダミー画像にリダイレクトしたい。

この目的のためにhtaccessコードを適用しましたが、404(見つからない)画像のみをリダイレクトしています

正しいリンクを持つホットリンクされた画像がリダイレクトされていないことを意味します。

www以外のバージョンへのリダイレクトも適用しました。このリダイレクトがホットリンクされたリダイレクトコードとの競合を引き起こしていると思います

これがコードです

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301]
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f

RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite/.*$ [NC]
RewriteRule \.(gif|jpg|png) http://www.mysite.com/temp/aa.jpg [R,L]
4

2 に答える 2

1

この条件で存在するファイルへのリクエストの書き換えを明示的に除外します。

RewriteCond %{REQUEST_FILENAME} !-f

実際、すべての画像のすべてのクライアントを別のドメイン名にリダイレクトする必要があるかどうかはわかりません。これは、クライアントに必要なhttpリクエストを2倍にすることを意味します。

于 2012-12-13T12:57:52.297 に答える
1

このような変更は機能するはずです:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^mysite\.com$
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^.*/aa.jpg$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mysite\.com/?$ [NC]
RewriteRule ^.*\.(gif|jpg|png)$ http://www.mysite.com/temp/aa.jpg [R=301,L]
于 2012-12-13T15:13:49.247 に答える