Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Apache mod_重写从主域拉取图像_Apache_Mod Rewrite_Url Rewriting - Fatal编程技术网

Apache mod_重写从主域拉取图像

Apache mod_重写从主域拉取图像,apache,mod-rewrite,url-rewriting,Apache,Mod Rewrite,Url Rewriting,我试图从主域获取子域中的所有模板图像和css文件,这样我就不需要复制所有内容 此规则适用于根文件夹中的图像,但不适用于子目录 RewriteCond %{HTTP_HOST} sub.domain.com [NC] RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|css|js|txt|ico|pdf)$ [NC] RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] 如何修改代码,使所有指定的扩展

我试图从主域获取子域中的所有模板图像和css文件,这样我就不需要复制所有内容

此规则适用于根文件夹中的图像,但不适用于子目录

RewriteCond %{HTTP_HOST} sub.domain.com [NC]
RewriteCond %{REQUEST_FILENAME} \.(jpg|gif|png|css|js|txt|ico|pdf)$ [NC]
RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301]

如何修改代码,使所有指定的扩展名都指向主域,即使这些文件位于不同的文件夹中,而不仅仅是根文件夹中。

在.htaccess文件中尝试以下操作:

RewriteCond %{HTTP_HOST} ^sub.domain.com$
RewriteRule ^(.+\.(?:jpg|gif|png|css|js|txt|ico|pdf))$ http://www.domain.com/$1 [NC,R=permanent]
这应该获取整个请求路径和文件名,然后将其附加到主域以进行重定向


如果改用httpd.conf,则需要在RewriteRule匹配模式中添加正斜杠,紧跟在
^
字符之后。

您需要的是
标记使用
标记可能会导致更多的问题,但有时它实际上解决了–我不会在任何可以避免的情况下使用它。@CBroe我想知道它以何种方式导致问题?当我使用它时,我是否需要使用绝对URL而不是相对URL?@user2248639现有图像的完整地址是什么,您希望将它们重新映射到哪里?