Apache 子域配置

Apache 子域配置

我正在运行一个服务器,它既是 Web 服务器,也是 DNS 服务器。我已将 bind 配置为接受任何通配符子域 (*.mydomain.com)。现在,我希望用户能够使用 username.mydomain.com 查看他们的个人资料页面。

到目前为止,我已成功将 username.mydomain.com 重定向到 mydomain.com/username,并在 Apache 配置文件中使用以下几行:

RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.mydomain\.com
RewriteRule ^(.*) http://mydomain.com/%1$1 [R=301,QSA,L]

例如,当我输入http://rik.mydomain.com,它会重定向到http://mydomain.com/rik,这正是我想要的,但浏览器地址栏中的 URL 也会发生变化。有没有办法将 username.mydomain.com 重定向到文件夹,并将 username.mydomain.com 保留在地址栏中?

我无法为子域使用单独的 Apache 配置文件,因为有太多子域(对于每个用户)。

提前致谢

答案1

尝试从重写规则中删除“R=301”。这应该可以防止服务器通知浏览器更改显示的域名。

相关内容