我有一堆域,我想要去一个域,但该域的各个部分。
# this is what I currently have RewriteEngine On RewriteCond %{HTTP_HOST} ^.*\.?foo\.com$ [NC] RewriteRule ^.*$ ${domainmappings:www.foo.com} [L,R=301] # rewrite map file www.foo.com www.domain.com/domain/foo.com.php www.bar.com www.domain.com/domain/bar.com.php www.baz.com www.domain.com/other/baz.php.foo
问题是我不想让每个域都成为RewriteCond的一部分。 我试过了
RewriteCond %{HTTP_HOST} ^www\.(.*) RewriteRule (.*) http://%1/$1 [R=301,L]
但是这将为每个域都这样做。 我只想要映射文件中的域redirect,然后继续进行其他重写,如果它不匹配映射文件中的任何域。
你可以在一个条件下取消映射,确保它不是空的,然后捕获它,所以你不会两次返回映射:
RewriteCond $ {domainmappings:%{HTTP_HOST})(。+)RewriteRule。*%1 [L,R = 301]