最近我又买了一个域名,所有域名都放在一个主机上。我的主机只为我提供了 htaccess 文件,所有子域名的重定向都在这里进行。文件夹结构现在如下所示:
\---www
| .htaccess
|
\---domains
+---example.com
+---site.test.net
\---test.example.com
但由于有很多文件夹包含不同的域和子域,我想让它看起来更好,所以我想在 htaccess 中创建规则,将它们重定向到按其根域分类的文件夹(example.com、test.net 等)。我尝试搜索它,但找不到任何适合我问题的答案。经过一周的谷歌搜索,我询问了 ChatGPT(我知道,这不是最好的询问来源),它为我提供了以下代码:
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule .* - [E=DOMAIN:%2]
RewriteCond %{ENV:DOMAIN} !^$
RewriteCond %{REQUEST_URI} !^/domains/
RewriteRule ^(.*)$ /domains/%{ENV:DOMAIN}/%{ENV:DOMAIN}/$1 [L]
我发现它试图只获取本例中未提供的 www 部分,因此它仍在尝试查找名为“domains/test.example.com/test.example.com”的文件夹。有没有办法做这样的事情?因为我甚至搜索了可能在 htaccess 中使用的变量列表,但没有一个包含根域。