Dot-Htaccess

Wordpress .htaccess 如何避免圖像的重定向循環?

  • February 22, 2016

我正在配置從 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>
...

我怎樣才能正確地做到這一點?

如果您的圖像位於子目錄中,例如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 的文件的方法。

引用自:https://serverfault.com/questions/758944