zoukankan      html  css  js  c++  java
  • windows下 apache 二级域名相关配置 【转】

    转至: http://www.th7.cn/Program/php/201306/141305.shtml

    今天给大家总结下 windows 下 apache的二级域名的相关配置 

    下面就利用本地127.0.0.1进行测试

    我们这里以 www.jobs.com 为例,以下代码中的 jobs.com 都可以替换成你自己想要的域名 这里只是为了测试。

    我们的目标是,不同的子域名可以访问不同目录下的网站

    www.jobs.com => / ;

    jobs.com => / ;

    news.jobs.com => /news;

    1、  开启apache的mod_rewrite功能(肯定是要让它支持重写的)在httpd.conf 找到 mod_rewrite 把前面的#号去了就行,

    接着开启apache的虚拟主机 在httpd.conf 找到 Virtual hosts 把前面的# 号去了。

    2、添加几个域名,在 C:/WINDOWS/system32/drivers/etc 目录中找到hosts 这个文件 记事本打开它,添加如下三个域名

    127.0.0.1          www.jobs.com
    127.0.0.1          jobs.com
    127.0.0.1          news.jobs.com

    3、在虚拟主机中填写相关代码 让它有权限访问 www目录,找到Apache2/conf/extra 目录下的 httpd-vhosts.conf 文件并打开 代码添加如下

    <VirtualHost *:80>
       DocumentRoot "E:/www"  // 这里是项目的目录
       ServerName localhost       //你的ip 或者你的域名
      <Directory "E:/www">    // 这里是项目的目录
                Options Indexes FollowSymLinks
                AllowOverride all
               Order Deny,Allow
               Deny from all
               Allow from 127.0.0.1   
       </Directory>
    </VirtualHost>

    然后将www.jobs.com 绑定到 相关jobs项目所在目录 代码添加如下

    <VirtualHost *:80>
       DocumentRoot "E:/www/job"      // 这里是jobs所在的具体目录
       ServerName www.jobs.com        // 你的ip 或者 你的域名
       ServerAlias *.jobs.com              //这里 用 ServerAlias 让多个域名绑定到同一空间 也就是项目目录
       <Directory "E:/www/job">        // 这里是jobs所在的具体目录
               Options Indexes FollowSymLinks
               AllowOverride all
               Order Deny,Allow
               Deny from all
               Allow from All
       </Directory>
    </VirtualHost>

     弄好之后然后重启apache ,如果重启之后遇到apache启动报错 要查看apache的错误日志,根据需求进行修改。

    4、在jobs目录下 建立 .htaccess 文件 在里面添加如下代码

    RewriteEngine on

    #让www.jobs.com 访问根目录

    RewriteCond %{HTTP_HOST} ^www.jobs.com$
    RewriteCond %{REQUEST_URI} !^/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /$1
    RewriteCond %{HTTP_HOST} ^www.jobs.com$
    RewriteRule ^(/)?$ /index.php [L]

    #让news.jobs.com 访问news目录


    RewriteCond %{HTTP_HOST} ^news.jobs.com$
    RewriteCond %{REQUEST_URI} !^/news/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /news/$1
    RewriteCond %{HTTP_HOST} ^news.jobs.com$
    RewriteRule ^(/)?$ news/index.php [L]

    一切完成之后 你就可以试试 www.jobs.com job.com  news.jobs.com 等访问了 就看到你想要的结果了  

    如果需要其它二级域名访问的话 按照如上的方法要重复 2 、4 步就可以了,不需要在重启apache了 

    本文所涉及的只为了测试环境所用 并为对安全性进行校验,请在一切设置好之后用于产品中。

  • 相关阅读:
    电路开发软件积累
    .NET移动开发环境搭建
    Microsoft SQL Server Express各版本对比
    .NET IL指令速查表
    C#访问加密的SQLite数据库
    C#中时间计算方法汇总
    最佳C/C++编辑器 source insight3
    常用PHP框架收集
    CSS 中文字体的英文名称 (simhei, simsun) 宋体 微软雅黑等
    Windows下Java JDK8配置环境变量
  • 原文地址:https://www.cnblogs.com/Gile/p/4359964.html
Copyright © 2011-2022 走看看