0

ファイルを別のファイルにリダイレクトしようとしていますが、htaccessを十分に理解していないため、機能しません。

基本的に、たとえば、誰かがアクセスした場合、mysite.com/i/somefile.pngリダイレクトする必要がありますmysite.com/view.php?i=somefile(.png拡張子なし)

また、このプロセスがローカルリクエストでのみ発生するように設定しようとしているため、画像が別のサイトに埋め込まれている場合、リダイレクトされません。

誰かがこのためのコードを提供し、またそれを少し説明して、将来の使用のために私がよりよく理解できるようになれば、私はそれを大いに感謝します。

4

2 に答える 2

1

ドキュメントルートのhtaccessファイルにこれらのルールを追加してみてください。

RewriteEngine On
RewriteCond %{HTTP_REFERER} mysite.com [NC]
RewriteCond %{HTTP_REFERER} !/view\.php
RewriteRule ^/?i/(.+)\.png$ /view.php?i=$1 [L]

<img src=これにより、タグを介して埋め込まれた画像も内部で書き換えられるようになることに注意してください。


問題は(あなたが言ったように)、そのページの画像埋め込みは現在機能していません。埋め込みを機能させる方法はありますか?

プレフィックスを変更してそれらを書き直すことにより、リンクを<a>リンクとは異なるものにすることができます。<img>

例えば:

<a href="/a/something.png">
   <img src="/i/something.png">
</a>

それで:

RewriteEngine On
RewriteRule ^/?a/(.+)\.png$ /view.php?i=$1 [L]
于 2012-10-04T21:07:05.517 に答える
0

次のように解決しました:

RewriteCond %{HTTP_HOST} mysite\.com [NC]
RewriteCond %{HTTP_REFERER} !/view\.php
RewriteRule ^/?i/(.+)\.png$ http://mysite\.com/view.php?i=$1 [L]

また、直接リンクから画像にアクセスすると、view.phpにリダイレクトされ、埋め込みは引き続き機能します。

助けてくれてありがとうジョン・リン

于 2012-10-04T22:25:30.160 に答える