假设我有两个网站www.sample.com和files.sample.com。
在www.sample.com的webroot中的.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.xml
或www.sample.com/files/uploads/subfolder/file.json
的所有请求分别获得302 redirected
files.sample.com/files/uploads/file.xml
和www.sample.com/files/uploads/subfolder/file.json
。
然而,我无法解决这条规则。 www.sample.com网站上根本没有目录“files”。
有谁可以给我一些帮助,为什么
答案 0 :(得分:2)
你可能想要REQUEST_URI而不是QUERY_STRING。
RewriteCond %{REQUEST_URI} ^/files\/uploads [NC]
还要注意领先的斜杠。
答案 1 :(得分:0)
你在apache配置中打开了mod_rewrite吗? 此外,您将'^ files / uploads'更改为^ / files / uploads,将QUERY_STRING更改为PATH_INFO。 QUERY_STRING - 这是'?'之后的所有数据字符。