请教一个困扰我很长时间的ISAPI_Rewrite问题

我使用了一个规则如下:
RewriteRule ^(.*)/index([0-9]+).html$ $1/City/$2/Index\.htm
但是我想改成这样
RewriteRule ^(.*)/index.html$ $1/City/$2/Index\.htm
就是说老URL中$2这个变量,在新URL中不用了。但是我这么改了之后,该规则不起作用了!求高手帮忙解答!先谢谢了!

作者: yanglong_718   发布时间: 2010-05-07

不用了你没有删除啊。
RewriteRule ^(.*)/index.html$ $1/City/index\.htm

作者: net_lover   发布时间: 2010-05-07

舊的
RewriteRule ^(.*)/index([0-9]+).html$ $1/City/$2/Index\.htm

新的
RewriteRule ^(.*)/index.html$ $1/City/$2/Index\.htm

在新的規則中,你都沒有說明 $2要取哪一個部的值, 當然會不起作用

作者: ghostxyz0   发布时间: 2010-05-07

引用 1 楼 net_lover 的回复:

不用了你没有删除啊。
RewriteRule ^(.*)/index.html$ $1/City/index\.htm


谢谢你的回复,$2代表几个数字,实际是存在的所有不能删除!

作者: yanglong_718   发布时间: 2010-05-07

引用 2 楼 ghostxyz0 的回复:

舊的
RewriteRule ^(.*)/index([0-9]+).html$ $1/City/$2/Index\.htm

新的
RewriteRule ^(.*)/index.html$ $1/City/$2/Index\.htm

在新的規則中,你都沒有說明 $2要取哪一個部的值, 當然會不起作用


是的,我就是想在新的URL中,去掉$2所代表的值呀

作者: yanglong_718   发布时间: 2010-05-07

还请各位继续出好主意啊

作者: yanglong_718   发布时间: 2010-05-07

那 index.html 
又不能傳參, 又沒可變的部分
只能轉到 ./City下或子目錄下的一個文件
你想要他能訪問哪一個文件呢

作者: ghostxyz0   发布时间: 2010-05-07

總之你想要保持能夠訪問 $1/City/$2/Index\.htm
那正則一定要有兩個可變部分

作者: ghostxyz0   发布时间: 2010-05-07

老URL $1/City/$2/Index\.htm 其中$2是几个变化的数字,比如/City/123/Index.htm /City/21/Index.htm

我试过 RewriteRule ^(.*)/index.html$ $1/City/([0-9]+)/Index\.htm 

可是不好用

作者: yanglong_718   发布时间: 2010-05-07

引用 7 楼 ghostxyz0 的回复:

總之你想要保持能夠訪問 $1/City/$2/Index\.htm
那正則一定要有兩個可變部分

老URL中可以有正则表达式吗?

作者: yanglong_718   发布时间: 2010-05-07

說你想要的結果吧

比如訪問 http://www.domain.com/123/index.htm 時 你想跳到哪裏去

作者: ghostxyz0   发布时间: 2010-05-07

引用 10 楼 ghostxyz0 的回复:

說你想要的結果吧

比如訪問 http://www.domain.com/123/index.htm 時 你想跳到哪裏去

多谢您,我想 http://www.domain.com/123/index.htm跳到 http://www.domain.com/index.htm
http://www.domain.com/222/index.htm也跳到 http://www.domain.com/index.htm

作者: yanglong_718   发布时间: 2010-05-07

也不是跳转,地址栏不变化,就是
访问 http://www.domain.com/123/index.htm就相当于访问http://www.domain.com/index.htm
访问 http://www.domain.com/222/index.htm 也相当于访问http://www.domain.com/index.htm
访问 http://www.domain.com/211/index.htm 也相当于访问http://www.domain.com/index.htm
等等

作者: yanglong_718   发布时间: 2010-05-07

上面12楼我说的好像有点问题,修改一下 ,是这样
访问http://aaa.domain.com/index.htm 就相当于访问 http://aaa.domain.com/123/index.htm
访问http://bbb.domain.com/index.htm 就相当于访问 http://bbb.domain.com/111/index.htm
访问http://ccc.domain.com/index.htm 就相当于访问 http://ccc.domain.com/211/index.htm
访问http://dax.domain.com/index.htm 就相当于访问 http://dax.domain.com/231/index.htm
等等、等等


作者: yanglong_718   发布时间: 2010-05-07

引用 13 楼 yanglong_718 的回复:

上面12楼我说的好像有点问题,修改一下 ,是这样
访问http://aaa.domain.com/index.htm 就相当于访问 http://aaa.domain.com/123/index.htm
访问http://bbb.domain.com/index.htm 就相当于访问 http://bbb.domain.com/111/index.htm
访问http://ccc.doma……


在你每個虛擬主機下加上
RewriteRule ^(.*)/index.html$ $1/City/XXX/Index\.htm [L]

XXX 就是你要跳轉的數字目錄

這樣就能實現像...
http://aaa.domain.com/dir/index.htm => http://aaa.domain.com/dir/City/XXX/Index.htm
最好大小寫跟目錄/文件名一樣.我也不知道大小寫敏感不

作者: ghostxyz0   发布时间: 2010-05-07

引用 14 楼 ghostxyz0 的回复:
引用 13 楼 yanglong_718 的回复:

上面12楼我说的好像有点问题,修改一下 ,是这样
访问http://aaa.domain.com/index.htm 就相当于访问 http://aaa.domain.com/123/index.htm
访问http://bbb.domain.com/index.htm 就相当于访问 http://bbb.domain.com/111/……

首先谢谢您的热心解答,可惜还是不能完全解决我的问题,因为我有将近500个分站域名,都这样加未免太累了啊!

作者: yanglong_718   发布时间: 2010-05-07

引用 15 楼 yanglong_718 的回复:

首先谢谢您的热心解答,可惜还是不能完全解决我的问题,因为我有将近500个分站域名,都这样加未免太累了啊!


那還的確是挺累人的工作...

作者: ghostxyz0   发布时间: 2010-05-07

有没有类似这样的格式呢
后面也可以应用正则表达式的
RewriteRule ^(.*)/index.html$ $1/City/([0-9]+)/Index\.htm 

作者: yanglong_718   发布时间: 2010-05-07

看来没人知道了呀

作者: yanglong_718   发布时间: 2010-05-09

http://www.gamedanji.cn
http://www.pudongonline.cn
http://www.kaisina.cn
http://www.wamme.cn
http://www.91gameplay.cn
http://www.1717online.cn

以上都是使用apache开发的大型游戏网站,大家可以参考一下,受益非浅。

作者: xiaodongxi1981   发布时间: 2011-01-27