Wordpress .htaccess 如何避免图像的重定向循环?

Wordpress .htaccess 如何避免图像的重定向循环?

我正在配置从 Html 静态网站到 Wordpress 的重定向,我在 .htaccess 文件中手动执行此操作,并且对于我正在使用的一些其他规则重定向插件

我已将这些规则添加到我的.htaccess中:

  <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{THE_REQUEST} (\.htm|\.html)
RewriteRule ^(.*)(\.htm|\.html)$ http://www.mywebsite.com/wordpress/$1 [R=301,L]
..

它们可以很好地将旧的 html 文档重定向到没有文件扩展名的新 wordpress 安装。

我在尝试添加图像所需的重定向时遇到问题。我尝试添加此规则,但尝试访问 .jpg 文件时出现重定向循环:

 RewriteCond %{THE_REQUEST} \.jpg
    RewriteRule ^(.*\.jpg)$ /wordpress/wp-content/uploads/2016/02/$1 [R=301,L]
</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
...

我怎样才能正确地做到这一点?

答案1

如果你的图片位于子目录中,例如images解决方案很简单

RewriteRule ^/images/(.*\.jpg)$ wordpress/wp-content/uploads/2016/02/$1 [R=301,L]

如果图像位于随机位置或根目录中。

RewriteCond %{REQUEST_URI} !^/wordpress/wp-content/uploads/
RewriteRule ^(.*\.jpg)$ /wordpress/wp-content/uploads/2016/02/$1 [R=301,L]

重点是,RewriteRule重定向到 wordpress 目录后,您的目录再次匹配。(它匹配任何jpg)。你必须找到一种方法来不匹配新的基于 wordpress 的文件。

相关内容