我在一个虚拟主机中有多个域,例如别名: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 服务器错误而崩溃:(