我想在我的服务器上设置一个子域名 blah.example.com
我可以毫无问题地访问每个用户的 USERDIRexample.com/~user
我无法设置 blah.example.com,DNS 是否还有其他问题。
我需要编辑哪些文件。尝试实现此设置时需要注意哪些重要文件。
谢谢,麻烦您了。
答案1
http://httpd.apache.org/docs/2.1/en/vhosts/name-based.html您需要编辑的文件取决于您的操作系统(例如在 Debian -> a2ensitehttp://man.he.net/man8/a2ensite/ 在 CentOS 中,您需要编辑 httpd.conf 文件)您还必须设置 DNS 记录,如 *.yoursite.com
答案2
这是您可以在 apache httpd rewrite 文档中找到的修改版本:http://httpd.apache.org/docs/current/rewrite/rewrite_guide.html#uservhosts
您必须将以下语句放入您的 httpd.conf 中(或者您要设置 apache 的自定义配置选项的位置,这因发行版而异)并确保启用了 mod_rewrite。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.example\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.example\.com/(.*) /home/$1/public_html/$2
您还需要一个指向您服务器 IP 的通配符 DNS 条目 (*.example.com)(或者为每个获得子域的用户提供一个静态 DNS 条目)。