Url rewriting (ISAPI_Rewrite)在请求特定文件时重写域
我试图创建一个条件,当请求中包含foo/foofile.txt时,将url从重写为。如果有人能给我指出正确的方向,我将非常感谢所有的帮助 提前感谢,,Url rewriting (ISAPI_Rewrite)在请求特定文件时重写域,url-rewriting,isapi-rewrite,Url Rewriting,Isapi Rewrite,我试图创建一个条件,当请求中包含foo/foofile.txt时,将url从重写为。如果有人能给我指出正确的方向,我将非常感谢所有的帮助 提前感谢,, B这是将特定子域重定向到特定文件的主域 您使用的是哪个版本的isapi_重写,v2还是v3 这假设v3: RewriteCond %{HTTP:Host} ^subdomain\.(.*)$ RewriteRule ^(/foo/foofile3\.txt)$ http://%1$1 [NC,R=301] RewriteCond测试一个以子域(
B这是将特定子域重定向到特定文件的主域 您使用的是哪个版本的isapi_重写,v2还是v3 这假设v3:
RewriteCond %{HTTP:Host} ^subdomain\.(.*)$
RewriteRule ^(/foo/foofile3\.txt)$ http://%1$1 [NC,R=301]
RewriteCond测试一个以子域(和一个点)开头的主机,并捕获其余的主机(example.com),以方便重写规则。您也可以将特定的example.com放在那里,但这会使它更通用
然后,RewriteRule查找特定的/foo/foofile3.txt并捕获它(同样是为了方便在规则中不重复它)。对于条件(example.com)中的捕获,结果为%1;对于规则(/foo/foofile3.txt)中的捕获,结果为$1
NC不区分大小写,R=301是永久重定向
在v3中,querystring参数会自动处理,因此这会保留文件后面的所有参数
使它更复杂一些的其他可能是任何子域,或者文件名模式,而不是一个特定的文件
在获得正确的规则时,浏览器缓存我的尝试时遇到了问题。因此,即使我更改了规则,浏览器也缓存了我以前的重定向。我的快速修复方法是计算新URL的文件名:foofile2,foofile3(我想我是在第三次尝试时得到的…)。我也可以每次都清除浏览器缓存;这样更快