2011-10-01 48 views
1

可以说我有两个网站www.sample.com和files.sample.com。.htacces重写条件不打?

在www.sample.com的根目录内的.htaccess文件,我有以下几点:

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteCond %{QUERY_STRING} ^files\/uploads [NC] 
    RewriteRule ^(.*)$ http://files.website.com/$1 [NC,L] 
</IfModule> 

期望的结果是有www.sample.com/files/uploads/file.xmlwww.sample.com/files/uploads/subfolder/file.json所有请求得到302 redirectedfiles.sample.com/files/uploads/file.xmlwww.sample.com/files/uploads/subfolder/file.json,分别。

但是,我无法让规则开火。 www.sample.com网站上根本不存在“文件”目录。

谁能给我一点点的帮助,为什么

+0

两个域指向相同的wwwroot? –

回答

2

您可能需要REQUEST_URI而不是QUERY_STRING。

RewriteCond %{REQUEST_URI} ^/files\/uploads [NC] 

另请注意引导斜线。

0

你在你的Apache配置开启了mod_rewrite? 另外,您还可以将'^ files/uploads'更改为^/files/uploads,将QUERY_STRING更改为PATH_INFO。 QUERY_STRING - 这是'?'后的所有数据字符。