我正在从旧的 Debian 6 服务器迁移到新的 Ubuntu 16.04 服务器。在我们的 Debian 服务器上,我们有主域,还有几个子域(每个子域都有一个 .conf 文件),例如:
在新服务器上,因为我们还没有指向 IP 地址的域名,但我们必须测试迁移后的站点,所以我使用了以下 .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:
现在,在开发网站中,我有漂亮的 URL 重定向规则,例如:
RewriteRule ^pretty-url /path/to/content [L,R=301]
问题是,如果我导航到http://11.22.33.44/dev/pretty-url
,它会将我重定向到http://11.22.33.44/path/to/content
,不是 http://11.22.33.44/dev/path/to/content
。
鉴于我不能使用诸如ServerName dev.11.22.33.44
或 之类的指令ServerName 11.22.33.44/dev
,和我不想更改 Web 目录中的 .htaccess 文件 - 我的 .conf 文件应该是什么样子才能允许 IP 地址上有多个“站点”,每个站点都映射到一个子目录并正确地重写到该子目录?