zoukankan      html  css  js  c++  java
  • apache 子域名自动与子域名同名的目录绑定

    假设有域名domain.com,已经泛解析子域名*.domain.com到该主机的ip,web根目录为/var/www/
    在访问a.domain.com时,能自动绑定/var/www/a/目录,访问b.domain.com时,能自动绑定/var/www/b/目录

    1、分别手动建立相应的virtualhost

    主机配置文件vhost.conf

    <VirutualHost *:80>
        DocumentRoot /var/www/
        ServerName domain.com
        ServerAlias *.domain.com
    </VirtualHost>

    以及/var/www/.htaccess文件

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{HTTP_HOST} ^(.*).domain.com$
        RewriteCond %{REQUEST_URL} !^/%1/
        RewriteRule ^(.*)$ %1/$1
    </IfModule>
    

    此时不论以哪个域名访问,都会返回服务器内部错误

    如果把RewriteCond %{REQUEST_URL} !^/%1/这行配置中的%1替换成具体的字符串,如a,这样的话,能够实现a.domain.com绑定到/var/www/a/目录,但是其他域名依然是/var/www/目录

    2、任意主机名的虚拟主机

    RewriteEngine on
    
    RewriteMap    lowercase int:tolower
    
    RewriteCond   "${lowercase:%{HTTP_HOST}}"   "^www.([^.]+).example.com$"
    RewriteRule   "^(.*)" "/home/%1/www$1"

    3、vhost_alias模块实现通配子域名

    主机配置文件vhost.conf

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
     
    ServerName test.loc
    ServerAlias *.test.loc
     
    # This will be the wildcarded document root. Any folder you create in /var/www/test will be automatically a subdomain name.
    VirtualDocumentRoot /var/www/test/%-3
     
    # For symlinking your projects and htaccesses to work
    <Directory />
    Options FollowSymLinks
    AllowOverride All
    </Directory>
     
    ErrorLog /var/log/apache2/vhosts-error.log
     
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
     
    CustomLog /var/log/apache2/vhosts-access.log combined
    </VirtualHost>

    https://inchoo.net/magento/how-to-setup-semiautomatic-per-folder-wildcard-subdomains-on-your-local-linux-based-development-computer/

    https://httpd.apache.org/docs/2.4/rewrite/vhosts.html

    Apache多虚拟主机多版本PHP(5.2+5.3+5.4)共存运行配置全过程 

  • 相关阅读:
    hdu 1754
    hdu 1166
    poj 1193
    如何由XSD自动生成XML和实体类
    WinForm(C#)CheckedlistBox绑定数据,并获得选中的值(ValueMember)和显示文本(DisplayMember)
    C#读写共享文件夹
    去除TFS版本控制信息
    SQL 触发器
    C#中操作WMI的类库-实现远程登录共享
    VS 制作安装包小窥
  • 原文地址:https://www.cnblogs.com/xuey/p/10662904.html
Copyright © 2011-2022 走看看