小编今天给大家总结下 windows 下 apache的二级域名的相关配置
利用.htaccess将域名绑定到子目录
下面就利用本地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 文件并打开 代码添加如下
DocumentRoot "E:/www" // 这里是项目的目录
ServerName localhost //你的ip 或者你的域名
// 这里是项目的目录
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
然后将www.jobs.com 绑定到 相关jobs项目所在目录 代码添加如下
DocumentRoot "E:/www/job" // 这里是jobs所在的具体目录
ServerName www.jobs.com // 你的ip 或者 你的域名
ServerAlias *.jobs.com //这里 用 ServerAlias 让多个域名绑定到同一空间 也就是项目目录
// 这里是jobs所在的具体目录
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from All
弄好之后然后重启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]
我要绑定的是把news.jobs.com绑定到new目录中,所以不仅要在根目录放置.htaccess文件,
还要在new目录中放置.htaccess文件,new目录中的.htaccess写法如下:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
ErrorDocument 403 /404.htm
ErrorDocument 404 /404.htm
一切完成之后 你就可以试试 www.jobs.com job.com news.jobs.com 等访问了 就看到你想要的结果了
如果需要其它二级域名访问的话 按照如上的方法要重复 2 、4 步就可以了,不需要在重启apache了
本文所涉及的只为了测试环境所用 并为对安全性进行校验,请在一切设置好之后用于产品中。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com