Apache2将根重写到testing服务器上的各个子目录/子网站

我正在从旧的Debian 6服务器迁移到一个漂亮的新的Ubuntu 16.04服务器。 在我们的Debian服务器上,我们有主域,但也有几个子域(每个都有.conf文件),比如:

  • http://www.example.com
  • http://dev.example.com
  • http://db.example.com

在新服务器上,因为我们还没有一个指向IP地址的域名,但是我们必须testing迁移的网站,所以我使用了下面的.conf文件:

<VirtualHost *:80> ServerAdmin [email protected] Alias /prod /var/www/example.com/web Alias /dev /var/www/dev.example.com/web Alias /db /var/www/db.example.com/public_html DirectoryIndex index.php </VirtualHost> 

所以,如果我想在每个环境中进入主页,我使用这些URL:

  • http://11.22.33.44/prod/
  • http://11.22.33.44/dev/
  • http://11.22.33.44/db/

现在,在开发网站,我有漂亮的URLredirect规则,如:

 RewriteRule ^pretty-url /path/to/content [L,R=301] 

问题是,如果我导航到http://11.22.33.44/dev/pretty-url ,它会将我redirect到http://11.22.33.44/path/to/content而不是 http://11.22.33.44/dev/path/to/content

鉴于我不能使用一个指令,如ServerName dev.11.22.33.44ServerName 11.22.33.44/dev ,我不想改变Web目录中的.htaccess文件 – 我的.conf文件应该是什么样子允许IP地址上有多个“站点”,每个站点映射到一个子目录,并正确地重写到该子目录?