0

我在一个虚拟主机中有多个域,例如别名:example.com 是主要的,example1.com 和 example2.com 是别名

我需要将多个域重写为单个入口点,通过 GET 查询参数传递它,去掉 www 前缀,例如:

HOST -> rewrite to
www.example1.com/some/path -> [example.com]/index.php?q=domain/example1.com/some/path
    example2.com/some/path -> [example.com]/index.php?q=domain/example2.com/some/path

我当前的 .htaccess 不能正常工作

RewriteRule   ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule   ^(.*)/(.*) index.php?q=domain/$1/$2 [L,QSA]

更新1

尝试使用 RewriteMap - rewrite.map 它遵循

example-site.com www.examplesite.com
www.example-site.com www.examplesite.com

.htaccess

RewriteMap host2site txt:/var/www/rewrite.map
RewriteRule ^(.*)$ index.php?q=/domain/{host2site:$1|NOTFOUND} [PT]

但它因 500 服务器错误而崩溃:(

4

1 回答 1

0

尝试

RewriteCond %{HTTP_HOST} !=example.com [NC]
RewriteRule ^(.*)$ http://example.com/index.php?q=domain/%{HTTP_HOST}/$1 [L,QSA]
于 2013-02-11T15:14:04.580 回答