.htaccess重写规则以包含文件

时间:2018-07-23 15:59:32

标签: .htaccess

我正在尝试找出正确的规则,以将文件的所有url从一个域重定向到另一个域:

oldsite.com/uploads/imagefile.pngnewsite.com/uploads/imagefile.png

我尝试过的所有规则都适用于诸如oldsite.com/uploads/之类的链接,但这些链接确实重定向到了newsite.com/uploads/,但是,一旦我向路径添加文件,我就会得到404。

这是我尝试过的一条规则:

Redirect 301 /uploads http://www.newsite.com/uploads

RewriteEngine on RewriteRule ^uploads/(.*)$ https://www.newsite.com/uploads/$1 [L,R=301]

1 个答案:

答案 0 :(得分:0)

尝试在您的.htaccess中使用它:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ (www\.)?oldsite.com/uploads/$1 [NC]
RewriteRule ^(.*)$ http://newsite.com/uploads/$1 [R=301,L]

您可以在这里查看此规则:https://htaccess.madewithlove.be?share=cf237628-6307-5cd2-992c-5db8ffef8568

它先检查URL的两个变体(www / non-www),然后使用R=301重定向,这是指向新域并关联图像文件的永久重定向。

我建议在测试时将其更改为R=302,因为这是一个临时重定向。在进行测试之前,请确保 清除缓存。