本页主题: 二级域名问题,急 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

123456
级别: 入门弟子


精华: 0
发帖: 2
威望: 2 点
财富: 816 K币
贡献值: 0 点
注册时间:2006-07-03
最后登录:2008-06-12

 二级域名问题,急

系统提示:这是一个从旧版社区导入的帖子。
如果显示不正常,或需要查找旧帖中上传的附件,请参照原帖。
原帖地址:http://my.iecn.net/bbs/view/105627.html
如非必要,请不要修改此帖!如果修改,请保留以上信息。
RewriteCond Host: (?!/.|www|bbs)(.*).b2b.test.com
RewriteRule (.*) http://b2b.test.com/company/$1$2 [I,R]
我想让地址栏显示为 xxx.b2b.test.com,而不是http://b2b.test.com/company/xxx,该怎样写呀?
在下先谢谢了
顶端 Posted: 2006-10-03 16:50 | [楼 主]
123456
级别: 入门弟子


精华: 0
发帖: 2
威望: 2 点
财富: 816 K币
贡献值: 0 点
注册时间:2006-07-03
最后登录:2008-06-12

 还没有解决

谢谢这位高手,小弟愚昧
RewriteRule (.*) /%{HTTP_HOST}/$2
这句甚末意思呀?$2表示的是甚末?

RewriteRule /([a-z0-9-]+).b2b.test.com/(.*)$ /company/$1/$2 [L]
指定到那个目录了?

我打算实现的是把bbbbbb.test.com ,指定到/company/bbbbbb下,该怎样实现?

系统提示:这是一个从旧版导入的帖子,如有问题请参照原帖(原帖地址见顶楼)。

顶端 Posted: 2006-10-04 11:03 | 1 楼
7kill_钟钟
级别: 无敌至尊


精华: 25
发帖: 13907
威望: 8305 点
财富: 2669 K币
贡献值: 11 点
注册时间:2006-07-26
最后登录:2008-08-23

 

写错了。
RewriteRule (.*) /%{HTTP_HOST}/$2
应该是:
RewriteRule (.*) /%{HTTP_HOST}/$1

比如 http://xxx.b2b.iecn.net/abc
重写后就是 http://xxx.b2b.iecn.net/xxx.b2b.iecn.net/abc

注意这只是一个过渡,目的是把域名中的xxx提出来(这才是最终目的),因为这个目录显然不存在,也只有这样才能把域名中的东西提出来。

系统提示:这是一个从旧版导入的帖子,如有问题请参照原帖(原帖地址见顶楼)。

顶端 Posted: 2006-10-08 00:58 | 2 楼
7kill_钟钟
级别: 无敌至尊


精华: 25
发帖: 13907
威望: 8305 点
财富: 2669 K币
贡献值: 11 点
注册时间:2006-07-26
最后登录:2008-08-23

 

我说一下apache的处理过程吧

1: RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).b2b.test.com$
2: RewriteCond %{HTTP_HOST} !^(www|bbs).b2b.test.com$
3: RewriteRule (.*) /%{HTTP_HOST}/$1
4: RewriteRule /([a-z0-9-]+).b2b.test.com/(.*)$ /company/$1/$2 [L]

假设现在访问 http://xxx.b2b.test.com/abc

apache的处理过程是:
首先进入3,注意rewite的过程是先看RewriteRule的匹配再去找它关面的条件,显然.*是任何情况都适合的;
匹配成功,会找它前面尽可能多的条件,在这里1和2的条件都起作用,就是说符合 *.b2b.test.com 但不能是 www.b2b.test.com 或 bbs.b2b.test.com;
条件成立后,进行替换,经替换后变成 http://xxx.b2b.test.com/xxx.b2b.test.com/abc,注意这只是一个过渡!
接下来执行4,经过4的替换后就变成了 http://xxx.b2b.text.com/xxx/abc

以上这些我没有实际去试过,不排除有个别的手误造成的小错误,你实际试一下。一个是你可以看rewrite日志,或者你先把4改成:
RewriteRule /([a-z0-9-]+).b2b.test.com/(.*)$ /company/$1/$2 [L,R]
看看地址栏里是不是重写成功,试好后再把R去掉


我觉得我已经尽可能的讲清楚了。如果你还是看不懂,最好还是找apache的中文文档(国内网站有的是,你可以去http://man.chinaunix.net看看)好好看看Rewrite的部分吧。

系统提示:这是一个从旧版导入的帖子,如有问题请参照原帖(原帖地址见顶楼)。

顶端 Posted: 2006-10-08 01:00 | 3 楼
gzty
尋PHP兼職
级别: 入门弟子


精华: 0
发帖: 3
威望: 2 点
财富: 817 K币
贡献值: 0 点
注册时间:2007-04-09
最后登录:2008-07-12

 

域名www.tonyang.com指向目录home
虚拟主机目录结构如下
/home
|-bbs/
|-blog/
|-images/
|-index.html
需要实现如下功能:
www.tonyang.com指向顶级目录home不需要重定向
home下的所有目录比如bbs、blog、images等
用对应目录名的二级域名如bbs.tonyang.com等访问
下面的重写规则为什么不正确:
RewriteEngine on

RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).tonyang.com$
RewriteCond %{HTTP_HOST} !^(www).tonyang.com$
RewriteRule (.*) /%{HTTP_HOST}/$1
RewriteRule /([a-z0-9-]+).tonyang.com/(.*)$ /$1/$2 [L,R]
http://www.tonyang.com
顶端 Posted: 2007-06-01 11:42 | 4 楼
7kill_钟钟
级别: 无敌至尊


精华: 25
发帖: 13907
威望: 8305 点
财富: 2669 K币
贡献值: 11 点
注册时间:2006-07-26
最后登录:2008-08-23

 

RewriteEngine on
RewriteCond %{HTTP_HOST} ^[a-z0-9-]+.tonyang.com$
RewriteCond %{HTTP_HOST} !^www.tonyang.com$
RewriteRule ^(.*)$ /%{HTTP_HOST}/$1
RewriteRule /([a-z0-9-]+).tonyang.com/(.*)$ /$1/$2 [L]
顶端 Posted: 2007-06-01 21:31 | 5 楼
jili3221058
级别: 入门弟子


精华: 0
发帖: 4
威望: 0 点
财富: 726 K币
贡献值: 0 点
注册时间:2007-06-29
最后登录:2007-07-25

 

www.domain.com  转发到 xxx.domain.com  为什么 sessio会消失那?
顶端 Posted: 2007-07-25 12:46 | 6 楼
知猪侠
Zhong's MJ
版杀铜牌MVP勋章
级别: 一代掌门


精华: 1
发帖: 3715
威望: 3720 点
财富: 140 K币
贡献值: 0 点
注册时间:2006-08-03
最后登录:2008-07-12

 

Quote:
引用第6楼jili3221058于2007-07-25 12:46发表的  :
www.domain.com  转发到 xxx.domain.com  为什么 sessio会消失那?

是因为跨域了,你在写session前,可以设置一下cookie,设置子域为 domain.com

I am Pigger Man.
顶端 Posted: 2007-08-15 14:07 | 7 楼
帖子浏览记录 版块浏览记录
IECN社区 » PHP/MySQL

Time now is:11-20 16:43, Gzip disabled 京ICP备06069722号
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation