目前,我将我的 /var/www 目录与每个站点放在以主机名命名的自己的文件夹中(例如 /var/www/www.example.com)。当我还想满足非 www 版本(或其他)时,我只需符号链接到正确的目录(因此 /var/www/example.com 符号链接到 /var/www/www.example.com)。
我想更进一步,让 apache 永久重定向到非符号链接目录。我想出了以下 RewriteMap perl 脚本:
#!/usr/bin/perl
$| = 1;
while (<STDIN>) {
chomp;
if (-l "/var/www/$_") {
print readlink . "\n";
} else {
print "NULL\n";
}
}
我以前从来没有过错,所以请原谅任何错误。我已经对其进行了测试,它运行良好并且符合规范。
困难的部分是实际的重写规则。我已经尝试过了,就我所知。我怀疑我需要有一个条件来检查是否存在匹配项。