怎么配置apache让网站域名www或者有二级域名。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么配置apache让网站域名www或者有二级域名。相关的知识,希望对你有一定的参考价值。

我的网站在远程服务器上,我通过FTP远程管理网站,要怎么操作呢。我修改自己电脑上的apache没有用吧。具体怎么操作,请大神赐教

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:

RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond $lowercase:%SERVER_NAME ^(.+)$
RewriteCond $vhost:%1 ^(/.*)$
RewriteRule ^/(.*)$ %1/$1

其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。
然后,在这个所在路径的目录下创建一个文件: vhost.map
内容为:

www.domain.com /usr/local/www/data-dist/domain
bbs.domain.com /usr/local/www/data-dist/bbs
anyname.domain.com /usr/local/www/data-dist/anyname

以上部分都是:” 域名+空格+绝对路径” 的形式。

最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:
domain , bbs , anyname 等等,理论上可以无限。

这样,通过浏览器,访问 www.domain.com 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。

第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
第二步:打配置文件尾部加上
RewriteEngine on
RewriteMap lowercase int:tolower
#定义映像文件
RewriteMap vhost txt:/apache/vhost/vhost.map
#处理变名
RewriteCond %REQUEST_URI !^/icons/
RewriteCond %REQUEST_URI !^/cgi-bin/
RewriteCond $lowercase:%SERVER_NAME ^(.+)$
这里做基于文件的重新映射
RewriteCond $vhost:%1 ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
RewriteCond %REQUEST_URI ^/cgi-bin/
RewriteCond $lowercase:%SERVER_NAME ^(.+)$
RewriteCond $vhost:%1 ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1

注意:vhost.map文件是域名和空间映像的文件,格式如下: 
www.abc.com /vhostusr/www.abc.com
www.xyz.com /vhostuser/www.xyz.com
www.cccbbbb.net /vhostuser/www.ccbbbb.net
www.cncms.com.cn /vhostuser/www.cncms.com.cn
.
.
.
.
(你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
==============================================
方法二、

rewriteengine on
rewritecond %HTTP_HOST [^.]+\.域名\.com$
rewriterule ^(.+) %HTTP_HOST$1 [C]
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
其他配置文件

接着在DNS中开设一个泛解析到对应的IP地址。
就可以实现下面的方案。

域名:domain.com
绝对路径:/home/domain.com/
www.domain.com 自动解析到 /home/domain.com/www/
abc.domain.com 自动解析到 /home/domain.com/abc/
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
直接建立子域名名称的文件夹即可使用。不需重启apache。
希望能够帮助你,望采纳。谢谢
参考技术A 空间的站点需要登录空间控制面板操作,跟客户端电脑基本没有关系。
相关操作具体可以咨询空间提供商。本回答被提问者采纳

怎么在windows server 2008 r2上用apache服务器发布一个或者多个 网站呢

我的服务器系统是windows server 2008 r2的,在上面我安装了XAMPP的软件,开的服务是apache和mysql,现在我要用apache服务器发布我公司的网站(网站有买的域名,还有一个公网的IP地址),那么我怎么修改apache下的httpd.conf文件里面的信息来发布一个或者多个网站呢,尽量写的详细一点吧 或者留个QQ也行,在线等待指教啊!!

先做好域名解析,把域名全都解析到你的服务器的公网ip上面。然后配置httpd.conf
在末尾加上如下代码:
NameVirtualHost localhost:80
NameVirtualHost bbs.huameng.com:80
<VirtualHost localhost:80>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot H:/www
</VirtualHost>
<VirtualHost bbs.huameng.com:80>
    ServerName bbs.huameng.com
    ServerAlias bbs.huameng.com
    DocumentRoot H:/www/bbs
</VirtualHost>
其中:NameVirtualHost和ServerName 指的是你的域名
DocumentRoot 指对应的网站主目录,该目录应该位于服务器主目录下级。
参考技术A 你用来本地测试?局域网访问还是公网访问?
公司有没有固定ip?有的话在域名MY DNS里指向公司的固定ip,服务器上安装WEB服务器iis角色,并安装相应功能,然后在iis管理界面添加网站。
可以在一台服务器上添加多个网站,如果是二级域名的,只需在域名管理里泛域名指向IP就行了,如果是其他域名,就重复域名指向的程序。
内网的直接用ip或域访问就ok了
如果没有固定IP,又需要给外网访问的,可以用花生壳映射,不过价钱不算便宜,不如买个VPS或者直接服务器托管。本回答被提问者采纳
参考技术B 2008你用IIS7多方便呀。

以上是关于怎么配置apache让网站域名www或者有二级域名。的主要内容,如果未能解决你的问题,请参考以下文章

apache2.4怎么屏蔽其他域名

apache服务器主域名跳转www域名

怎么用apache绑定2级域名?

我的网站要域名+端口号才能访问,怎么不加端口号就可以访问?

apache部署多域名,同个ip部署多个网站

Apache 配置多站点访问「为项目分配二级域名」