我正处于梦魇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来处理重定向,但我无法确定正则表达式来处理它。任何帮助表示赞赏。
答案 0 :(得分:0)
提供的示例需要两个月,所以你可以相处:
\/(\d+)\/.+$
请参阅a demo on regex101.com
就RewriteRule
而言:
RewriteEngine On
RewriteRule ^(.+)\/(\d+)\/(.+)$ $1/$2/$2/$3 [R=301,L]
答案 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)
在篡改.htaccess
和mod_rewrite
之前,请尝试Search & Replace plugin(或interconnectit database search and replace script)。这样的工具对于在传输或迁移WordPress期间修复损坏的链接至关重要。
通过WordPress媒体上传系统上传的图像文件的位置位于wp_postmeta
表中。因此问题出在数据库中,应该解决。
答案 3 :(得分:0)
我在将 WP 网站迁移到新服务器时遇到了同样的问题。以下应该对您有所帮助,如果您仍然遇到任何麻烦,请告诉我
只需确保您的根文件夹具有 755 权限的访问权限。
您应该在 wp 根目录下的 wpconfig.php 文件中添加以下几行-
define('WP_HOME','https://covid19.pinlocos.com');
define('WP_SITEURL','https://covid19.pinlocos.com');
添加包含以下详细信息的 .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