Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress htaccess将文件夹中的所有图像重写到另一个域的规则_Wordpress_.htaccess - Fatal编程技术网

Wordpress htaccess将文件夹中的所有图像重写到另一个域的规则

Wordpress htaccess将文件夹中的所有图像重写到另一个域的规则,wordpress,.htaccess,Wordpress,.htaccess,我有一个实时站点(livesite.com)和一个开发站点(devsite.com)。images目录太大了,我无法将它从livesite.com复制到devsite.com。因此,我想为devsite.com添加一个重写规则,以便从livesite.com获取图像(两个站点上的目录结构相同-只是域不同) 这是一个wordpress网站,因此每个月的图像都位于该结构中 /wp-content/uploads/2015/01/image.jpg /wp-content/uploads/2015/0

我有一个实时站点(livesite.com)和一个开发站点(devsite.com)。images目录太大了,我无法将它从livesite.com复制到devsite.com。因此,我想为devsite.com添加一个重写规则,以便从livesite.com获取图像(两个站点上的目录结构相同-只是域不同)

这是一个wordpress网站,因此每个月的图像都位于该结构中

/wp-content/uploads/2015/01/image.jpg
/wp-content/uploads/2015/02/image.jpg
etc..
我需要为2015目录中的所有内容添加重写规则

到目前为止,这是我在devsite.com根目录下的htaccess文件中的内容;它的目标是2015文件夹中的一个特定子目录,我甚至无法实现这一点-图像仍在尝试从devsite.com域而不是livesite.com检索

Options +FollowSymLinks
RewriteEngine On
RewriteRule /wp-content/uploads/2015/01/(.*)$ http://livesite.com/wp-content/uploads/2015/01/$1 [R=302,NC,L]

我怀疑我在这里犯了一个愚蠢的错误——感谢您的帮助

问题在于以斜线开头的图案,请参见

每个目录重写
-删除的前缀总是以斜杠结尾,这意味着匹配发生在一个从来没有前导斜杠的字符串上。因此,在每个目录上下文中,^/从不匹配的模式

所以,在你的情况下,应该是这样

RewriteRule ^wp-content/uploads/2015/01/(.*)$ http://livesite.com/wp-content/uploads/2015/01/$1 [R=302,NC,L]
尽管如此,由于您希望涵盖整个
2015
子目录,您可以将其简化为

RewriteRule ^wp-content/uploads/2015/(.*)$ http://livesite.com/wp-content/uploads/2015/$1 [R,NC,L]
甚至

RewriteRule ^wp-content/uploads/2015/(.*)$ http://livesite.com%{REQUEST_URI} [R,NC,L]

谢谢你的回答。虽然这看起来是正确的,但同样的事情也发生了——我的网站试图从devsite.com而不是livesite.com抓取图像,因此可能我的htaccess中有其他错误或类似错误。我将只按照这些规则来尝试,其他什么都不做