1

数年間、Wordpress の投稿に画像をアップロードして配置するための GUI である PhotoPress という Wordpress プラグインを使用していました。このプラグインは、Wordpress のメディア ギャラリーが大幅に改善されたため、2007 年に廃止されました。

私が今抱えている問題は、ネイティブの Wordpress のデフォルトとは異なる特定の方法で投稿に画像を添付する PhotoPress を使用して、私の投稿の 4 ~ 5 年分の画像がアップロードされたことです。

最近新しいテーマに切り替えたとき、多くの問題が発生しました。

Google Webmastertools を見ると、この状況による不適切なリンクが原因で、4000 以上の 404 エラーが発生しています。(以下の URL を参照)

投稿には画像が表示されますが、古い投稿のいずれかの画像を直接クリックすると、画像が表示されているページに移動するのではなく、404 エラーが返されます。以下をご覧ください。

画像は投稿内に正しく表示されます。

http://www.hongkonghustle.com/fashion/3138/thierry-mugler-hong-kong-china-fashion-show-western-market-hk-rick-genest-zombie-boy-rico-nicolas-formichetti-lady- gaga-stylist-joyce-boutique-store-skeleton-tattoo/

ただし、個々の画像をクリックすると 404 エラーが返されます。

PhotoPress が画像をリンクした方法は次のようになります:

一方、画像ソースが実際に保存されているディレクトリ パスは次のとおりです。

http://www.hongkonghustle.com/wp-content/photos/zombie_boy_tattoo_lady_gaga_rick_genest.jpg

確かではありませんが、これは画像がソース ファイルに直接リンクされていないためだと思います。代わりに、POST ATTACHMENT リンクにリンクされています。

これを修正する方法について非常に混乱しています。

画像はもともと (そして今も) wp-content/photos フォルダーに保存されているため、直接 URL をクリックすると機能します。

しかし、新しいテーマに切り替えたとき、画像がメディア ライブラリに表示されませんでした。

そのため、4000 枚を超える画像をメディア ライブラリにバッチで再アップロードしましたが、現在はリンクされていない状態になっています。

ソース画像を大量に再接続し、404 エラーを取り除く方法に興味があります。

どうすればこれを達成できますか?

何かご意見は?あなたのアドバイスは大歓迎です!ありがとう!

4

2 に答える 2

1

htaccess で 301 リダイレクトを実行しました。

Options +Indexes
Options +FollowSymLinks
RewriteEngine on
RewriteCond  %{QUERY_STRING}  ^pagename=album&\??pp_album=main&pp_cat=default&pp_image=(.*)$
RewriteRule .* /wp-content/photos/%1? [L,R=301]

RewriteCond %{HTTP_HOST} ^hongkonghustle\.com
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1 [R=permanent,L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.hongkonghustle.com/$1/ [L,R=301]

RewriteEngine On  
RewriteBase / 
<Files wp-config.php>
Deny from all
</Files>

<Files wp-config.php>
Deny from all
</Files>
Options +Indexes
IndexOptions -FancyIndexing


# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
于 2013-10-15T05:44:55.700 に答える