![Apache 子域配置](https://linux22.com/image/1373751/Apache%20%E5%AD%90%E5%9F%9F%E9%85%8D%E7%BD%AE.png)
我正在运行一个服务器,它既是 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”。这应该可以防止服务器通知浏览器更改显示的域名。