Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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 将映像请求从源域上的位置重定向到CDN域_Wordpress_.htaccess_Redirect_Cdn - Fatal编程技术网

Wordpress 将映像请求从源域上的位置重定向到CDN域

Wordpress 将映像请求从源域上的位置重定向到CDN域,wordpress,.htaccess,redirect,cdn,Wordpress,.htaccess,Redirect,Cdn,我正在用CloudFront CDN建立一个WordPress站点,还使用W3 Total cache插件来配置大部分内容 有人建议,由于谷歌可能会记住旧的URL,或者出于其他原因,我应该使用.htaccess规则将位于源域名WordPress安装级别内的图像请求重定向到CDN域。我想这只是为了安全起见,以避免明显重复的内容 但是他为root.htaccess文件建议的规则似乎不起作用。以下是他的建议(源域的格式为。WordPress安装在名为“WordPress”的目录中。CDN域的格式为):

我正在用CloudFront CDN建立一个WordPress站点,还使用W3 Total cache插件来配置大部分内容

有人建议,由于谷歌可能会记住旧的URL,或者出于其他原因,我应该使用.htaccess规则将位于源域名WordPress安装级别内的图像请求重定向到CDN域。我想这只是为了安全起见,以避免明显重复的内容

但是他为root.htaccess文件建议的规则似乎不起作用。以下是他的建议(源域的格式为。WordPress安装在名为“WordPress”的目录中。CDN域的格式为):

我发现这不会重定向任何对WordPress目录中的jpg文件的请求

怎么了?我还想知道如何包括其他文件类型,以及如何重定向位于其他目录中的文件类型-新行上的逻辑相同?

请尝试以下操作:

  RewriteCond %{HTTP_HOST} ^(www\.)?example.com
  RewriteCond %{REQUEST_URI} ^(.*)\.jpg$
  RewriteRule ^/(.*)$ http://cdn.example.com/$1 [NC,NE,R=301]
请尝试以下方法:

  RewriteCond %{HTTP_HOST} ^(www\.)?example.com
  RewriteCond %{REQUEST_URI} ^(.*)\.jpg$
  RewriteRule ^/(.*)$ http://cdn.example.com/$1 [NC,NE,R=301]


这似乎只是个打字错误
RewriteCond%{HTTP\u HOST}$www\.
是:“如果变量
%{HTTP\u HOST}
在字符串末尾有一个文本字符串
www.
”,这显然是不可能的。您可能想使用字符串的开头。
^
。因此您将其改写为-what?
RewriteCond%{HTTP\u HOST}^www\。
是的,我认为您的意思是这样的,但奇怪的是,它仍然不起作用。请检查是否首先读取了.htaccess文件(在.htaccess,reload page中输入garbage。如果出现500错误,则读取该错误)。请检查服务器上是否启用了mod_rewrite。(请参阅)。如果刚刚启用Apache,则需要重新启动它。请确保在httpd.conf()中将AllowOverride设置为至少FileInfo。如果您有权访问httpd.conf,我建议您将规则放在那里。这似乎只是一个输入错误?
RewriteCond%{HTTP\u HOST}$www\。
是:“如果变量
%{HTTP\u HOST}
在字符串末尾有文字字符串
www.
”,这显然是不可能的。您可能想使用字符串的开头
^
。因此您可以将其改写为-what?
RewriteCond%{HTTP_HOST}^www\。
是的,我认为您的意思是这样的,但奇怪的是,它仍然不起作用。请检查是否首先读取了.htaccess文件(在.htaccess,reload page中输入garbage。如果出现500错误,则读取该错误)。请检查服务器上是否启用了mod_rewrite。(请参阅)。如果刚刚启用Apache,则需要重新启动它。请确保在httpd.conf()中将AllowOverride设置为至少FileInfo。如果您有权访问httpd.conf,我建议您将规则放在那里。这似乎只是一个输入错误?
RewriteCond%{HTTP\u HOST}$www\。
是:“如果变量
%{HTTP\u HOST}
在字符串末尾有文字字符串
www.
”,这显然是不可能的。您可能想使用字符串的开头
^
。因此您可以将其改写为-what?
RewriteCond%{HTTP_HOST}^www\。
是的,我认为您的意思是这样的,但奇怪的是,它仍然不起作用。请检查是否首先读取了.htaccess文件(在.htaccess,reload page中输入garbage。如果出现500错误,则读取该错误)。请检查服务器上是否启用了mod_rewrite。(请参阅)。如果刚刚启用Apache,则需要重新启动它。请确保在httpd.conf()中将AllowOverride设置为至少FileInfo。如果您有权访问httpd.conf,我建议您将规则放在那里。谢谢您的代码,但奇怪的是它也不起作用。您认为它不起作用是什么意思?您面临什么问题?谢谢您的代码,但奇怪的是它也不起作用。您认为它不起作用是什么意思?您面临什么问题?谢谢您的代码,但奇怪的是,它也不起作用。你说它不起作用是什么意思?你面临什么问题?