最近、私のWordpressウェブサイト上の画像のいくつかが、Google Analyticsによると、最も訪問数の多いページであることに気付きました。画像をクリックするとアクセスできます。その結果、ページは別のタブで開かれました(ライトボックスなどはありません)。これを無効にしたので、右クリックして「新しいタブで画像を開く」と言って、以前と同じ結果を得る必要があります。それでも、私はこれがどのように起こり、直接画像パスにアクセスしている人を画像が存在するページにリダイレクトできるかを知りたいですか?
YoastSEOがこの問題をここで解決していることに気付きました: https://kb.yoast.com/kb/redirect-image-attachment-urls/ しかし、私のために働かない。
これは可能ですif各画像にはowningページがあり、それらの間に既知のパターンがあります。
car.jpg
という画像があり、ページcar.html
が所有しているとします。この場合、.htaccessを使用して、参照検出を使用した変換を実行できます。
RewriteCond %{HTTP_REFERER} !^https://www.example.com/.*$ [NC]
RewriteRule ^(.*)\.jpg$ $1.html [R=301,L]
つまり、あなたのサイト(www.example.com)のページから画像を読み込むnotは、同じ名前の対応するページへのリダイレクトを取得します。正規表現を^(.*)\.(jpg|png)$
に変更するか、post.php?image=$1
などのより複雑なURLにリダイレクトすることで、jpgやpngなどの他のタイプの画像も追加できます
これで、car.html
などのページに関連しない名前の画像があり、nissan_sentra.png
という画像がある場合、簡単なマッピングができなくなり、リダイレクトテーブルを作成する必要があります。より複雑なだけでなく、維持するのが難しい各ケースについて。