更改网站的前缀? (IE:www.example.com/bob_11 – > bob_11.example.com)

有些网站有可变的前缀。 例如:www.example.com/bob_11显示为bob_11.example.com。 我怎么做? 我假定它是一个子目录,但找不到任何解释如何对待它的东西。

我最近设置了一个Apache服务器,如果特定的服务器软件是一个因素。 我发现最接近的是mod_rewrite,但显然不能做我想要的。

在这个问题上寻找帮助是非常棘手的,因为我敢肯定,“前缀”是我所描述的错误词汇。 除了如何做,我所描述的过程是什么?

您正在寻找创build您的网站的子域名。 您需要在Apache上定义一个虚拟主机,并为您的新子域定义一个新文件夹。 然后,您可以使用mod_rewrite,甚至可以使用redirect将用户移至您的子域名,当他们击中www.example.com/bob_11时。

您还需要DNS条目才能使URL在浏览器中正确显示。

你需要什么叫虚拟主机,这里是你可以了解更多关于它的链接…

http://httpd.apache.org/docs/2.2/vhosts/examples.html

最好是去你的域名注册人面板,并在那里添加子域名bob_11.example.com指向A record到您的服务器的IP地址…

然后在服务器上使用命令行来查找httpd.conf:

尝试:

  find / -name httpd.conf 
  • 很可能你需要根访问权才能find/ dir,所以把sudo放在上面的命令前面。 或者在做之前以root身份login。

在上面的链接上按照手册configuration虚拟主机。

保存httpd.conf后重新启动apache!

你正在寻找一个子域名。 许多现代托pipe服务提供商将作为其后端/控制面板的一部分,所以确切的答案将取决于您的托pipe服务提供商。

这里有两个问题。 这听起来像你想创build一个基于名称的虚拟主机。 您在Apache中configuration基于名称的虚拟主机。

http://httpd.apache.org/docs/current/vhosts/name-based.html

所以你会有这样的东西:

 NameVirtualHost *:80 (Note NameVirtualHost is deprecated in Apache 2.4 which I've linked above) <VirtualHost *:80> ServerName bob_11.example.com DocumentRoot /www/bob_11 </VirtualHost> 

第二个问题是如何configuration您的DNS来识别名称,或者您称为前缀。 最简单的方法是添加一个CNAMElogging,其中包含所需的名称,并指向现有的www名称作为别名。

你的DNS应该像这样configuration:

 bob_11.example.com. CNAME www.example.com. www.example.com. A 192.168.1.2