1

几年来,我使用了一个名为 PhotoPress 的 Wordpress 插件,它是 GUI 来上传和放置图像到 Wordpress 帖子中。该插件于 2007 年停产,因为 Wordpress 自己的媒体库得到了极大的改进。

我现在遇到的问题是,我帖子中价值四五年的图像是使用 PhotoPress 上传的,PhotoPress 以一种不同于原生 Wordpress 默认的特定方式将图像附加到帖子上。

当我最近切换到一个新主题时,它引起了许多问题。

查看 Google Webmastertools,由于这种情况下的链接错误,我有超过 4000+ 404 个错误。(见下面的网址)

虽然图片会显示在帖子中,但如果您直接单击旧帖子中的任何图片,而不是转到显示图片的页面,则会返回 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 链接图像的方式如下所示: /?pagename=album&?pp_album=main&pp_cat=default&pp_image=zombie_boy_tattoo_lady_gaga_rick_genest.jpg

同时,图片源实际存放的目录路径在这里:

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 回答
0

index.php每当有pp_image查询字符串时,如何对新主题进行 301 永久重定向?

你可以重定向

http://www.hongkonghustle.com/?pagename=album&?pp_album=main&pp_cat=default&pp_image=zombie_boy_tattoo_lady_gaga_rick_genest.jpg

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

通过附加$_GET['pp_image']http://www.hongkonghustle.com/wp-content/photos/ ( content_url()? )

只需确保在发送输出之前完成重定向,PHP 输出缓冲区就可以派上用场。

希望有帮助。


可能有用的链接:

于 2013-10-11T16:01:02.863 回答