在梦魇WP迁移后修复图片网址

时间:2016-06-20 18:40:43

标签: regex wordpress .htaccess mod-rewrite

我正处于梦魇WP迁移的尾端。除了一堆破碎的图像链接之外,一切都正常工作,我已将其追溯到重复的令牌。

示例(已损坏)网址为:

http://localhost/wordpress/wp-content/uploads/2016/06/reset.gif

并且实际的gif位于:

http://localhost/wordpress/wp-content/uploads/2016/06/06/reset.gif

有数百个这样的实例,我认为最简单的解决方案是.htaccess文件中的RewriteRule来处理重定向,但我无法确定正则表达式来处理它。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:0)

提供的示例需要两个月,所以你可以相处:

\/(\d+)\/.+$

请参阅a demo on regex101.comRewriteRule而言:

RewriteEngine On
RewriteRule ^(.+)\/(\d+)\/(.+)$ $1/$2/$2/$3 [R=301,L]

查看replacement on regex101.com as well的演示。

答案 1 :(得分:0)

You don't actually need mod_rewrite to do this.

按照Sato Katsura建议的正则表达式(即我没有对比赛进行测试),您可以按照链接的维基页面的建议执行此操作:

RedirectMatch ^(/wordpress/wp-content/uploads/[0-9]{4}/)([0-9]{2}/)(.*) $1$2$2$3

答案 2 :(得分:0)

在篡改.htaccessmod_rewrite之前,请尝试Search & Replace plugin(或interconnectit database search and replace script)。这样的工具对于在传输或迁移WordPress期间修复损坏的链接至关重要。

通过WordPress媒体上传系统上传的图像文件的位置位于wp_postmeta表中。因此问题出在数据库中,应该解决。

答案 3 :(得分:0)

我在将 WP 网站迁移到新服务器时遇到了同样的问题。以下应该对您有所帮助,如果您仍然遇到任何麻烦,请告诉我

  1. 只需确保您的根文件夹具有 755 权限的访问权限。

  2. 您应该在 wp 根目录下的 wpconfig.php 文件中添加以下几行-

    define('WP_HOME','https://covid19.pinlocos.com');
    define('WP_SITEURL','https://covid19.pinlocos.com');
    
  3. 添加包含以下详细信息的 .htaccess 文件:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/system.*
    RewriteRule ^(.*)$ index.php?/$1 [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ index.php?/$1 [L]
    ErrorDocument 404 index.php