• 全部
  • 问答

求教,二级域名指向目录,用Rewriter怎么写

hanchao2tongling 大连水产学院 2011-02-12 03:19:58
例如:二级域名:bbs.domain.com指向根目录/bbs用Rewriter
...全文
507 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
life169 2011-03-26
RewriteEngine on
RewriteCond %{HTTP_HOST} ^bbs\.test\.cn$ [NC]
RewriteRule ^(.*)$ http://www.test.cn/bbs/$1 [L,R=301]
回复
hanchao2tongling 2011-03-26
我那个是在iis 下,我这两种方式都试了,都不行,没有成功,403错误提示
回复
skyaspnet 2011-02-13
Apache中通过配置http.conf绑定多个域名以及二级域名的方法

Apache是最流行的HTTP服务器软件之一,其以快速、可靠(稳定)而著称,并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,并且源代码全部开放。如果有自己的服务器或者VPS,并且不想为了方便而购买昂贵的控制面板的话,那自己动手配置Apache就成了一门必修课了。下面简单的介绍了如何通过设置Apache的http.conf文件,进行多个域名以及其相关的二级域名的绑定(假设我们要绑定的域名是minidx.com和ntt.cc,二级域名是blog.minidx.com,独立IP为72.167.11.30).


apache怎么绑定多个域名
打开http.conf
1,ServerName 127.0.0.1 修改成ServerName 72.167.11.30
2,#NameVirtualHost * 修改成"NameVirtualHost 72.167.11.30"
3,在文件最后面有虚拟主机格式,
#<VirtualHost *>
# ServerAdmin admin@minidx.com
# DocumentRoot /www/httpd/html/minidx.com
# ServerName minidx.com
# ErrorLog logs/minidx.com-error_log
# CustomLog logs/minidx.com-access_log common
#</VirtualHost>
简单的添加:
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/
ServerName 72.167.11.30
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/minidx.com/
ServerName minidx.com
</VirtualHost>
<VirtualHost 72.167.11.30>
DocumentRoot usr/local/www/ntt.cc/
ServerName ntt.cc
</VirtualHost>

日志文件的话也可以按照自己的路径添加。

Apache如何添加二级域名

httpd.conf 中需要打开mod_rewrite功能(关于URL重定向的具体说明,可以参照.htaccess使用方法总结),具体操作就是,在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 服务器配置文件所在路径,根据实际情况更改(例如在/etc/httpd/下面)。然后,在这个所在路径的目录下创建一个文件: vhost.map,内容为:

www.minidx.com /usr/local/www/minidx.com
www.ntt.cc /usr/local/www/ntt.cc
blog.minidx.com /usr/local/www/minidx.com/blog

最后,在网站根目录 /usr/local/www/下,创建对应目录就可以了。如果需要增加,修改或者删除域名,子域名,仅仅需要更改vhost.map文件,而不用重启apache进程。
回复
skyaspnet 2011-02-13
[Quote=引用楼主 hanchao2tongling 的回复:]
例如:二级域名:bbs.domain.com指向根目录/bbs用Rewriter
[/Quote]

Apache二级域名实现方法介绍时间

首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com
  其次,在 httpd.conf 中打开 mod_rewrite
首先,你的拥有一个有泛域名解析的顶级域名,例如: 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。

本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/0607/5780.php
回复
life169 2011-02-13
可以 修改.htaccess文件

加入类似以下语句:

#开启服务器重写模式
RewriteEngine on
#来自 bbs.test.cn 的连接访问本站时都将会访问 /bbs/ 目录.
RewriteCond %{HTTP_REFERER} (bbs.test.cn)
RewriteRule (.*)$ /bbs/

#这样 bbs.test.cn就转入到www.test.cn/bbs/

回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2011-02-12 03:19
社区公告
暂无公告