• 配置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。
  • 相关阅读:
    Hello Springboot
    Spring AOP
    代理模式
    Spring 面向注解开发
    Spring Bean 的配置
    IDEA 14 for Mac 提示要安装java 6的修改
    NAS DIY
    Maven Jetty SSL配置
    图书管理系统(jsp+nysql实现)
    互联网+XX项目技术架构
  • 原文地址:https://www.cnblogs.com/derrck/p/1791704.html
Copyright © 2020-2023  润新知