2013-04-05 36 views
0

我想从主域中获取子域中的所有模板图像和css文件,以便我不需要重复所有内容。mod_rewrite从主域拉图像

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

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] 

如何修改代码,以便所有指定的扩展定向到主域名,即使这些文件在不同的文件夹,而不是只在根文件夹。

+0

你需要的是''标签 – 2013-04-05 10:38:59

+0

使用''标签可以引起更多的问题,那么它实际上有时解决了 - 我不会用它时,它可以被避免。 – CBroe 2013-04-05 10:42:16

+0

@CBroe我想知道它以什么方式导致问题?在使用它时,我也需要使用绝对而不是相对URL? – 2013-04-05 10:43:51

回答

0

试试这个.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匹配模式。