如何在RewriteRule中使用RewriteCond HTTP_HOST的匹配部分?

时间:2012-09-13 21:14:34

标签: apache mod-rewrite

我需要使用正则表达式匹配域名的一部分并重定向到不同的域,匹配的部分是文件名的一部分。

示例,在this-is.com上的htaccess中:

this-is-a-test.com redirects to this-is.com/test.htm
this-is-a-fish.com redirects to this-is.com/fish.htm
this-is-a-duck.com redirect to this-is.com/duck.htm

到目前为止,我已尝试过以下内容:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^this-is-a-(.*).com$                                                                                                                                         
RewriteRule (.*) http://this-is.com/test.htm [L]

但这不起作用,因为RewriteRule只处理查询字符串部分而不处理主机部分。

如何在RewriteRule中使用RewriteCond的匹配部分?

1 个答案:

答案 0 :(得分:0)

解决了!

为了将来参考,您应该使用RewriteCond匹配的百分号:

RewriteCond %{HTTP_HOST} ^this-is-a-(.*).com$
RewriteRule (.*) http://this-is.com/%1.htm [L]