关于 Rewriterule [P]的一个问题

不知道你是否可以想一个规则来使“XXXX.html”不在此 RewriteRule ^/(.*) http://www.othersite.com/$1 [P] 规则中进行重写。

这里我想可以实现你的想法
RewriteRule ^/(^.*?.html) http://www.othersite.com/$1 [P]
来实现你的功能  ^表示非的意思, .*指所有 ?表示非贪婪匹配
也就是说非html在此规则总被rewrite
没有测试............但应该是可行的!
呵呵


QUOTE:
原帖由 foxxx222 于 2006-12-23 10:45 发表
谢谢leaner
但是你的方法还是不起作用啊。

我想我的方法应该是可行的,只怪当初书没读好,不精通正则表达式。看的我头都大了。

不知道你是否可以想一个规则来使“XXXX.html”不在此 RewriteRule ^/(.*) [u ...

老实说 我还没有真正弄明白你的需求
楼上的方法你可以试试
你把 RewriteRule ^/(.*) http://www.othersite.com/$1[P] 这条放到最后
再在前面加上处理XXX.html的 是可以使 ““XXXX.html”不在此 RewriteRule ^/(.*)...”的
是不是你前面的规则少了 [L] ? [L]指示如果匹配就到此结束 不再匹配下面的规则了
感谢各位的帮助。

通过这次的尝试,我学到了很多的东西,知道了自己的不足。基础知识那是相当的重要啊!!!!!!!!!再次感谢各位热心的大虾们。

来最后总结一下。(虽然有一些问题可能不正确,欢迎指正)

第一:需要把RewriteRule ^/(.*) http://www.arkbase.com/$1 [P]放在最后面。原因是leaner的那段英文。

第二:由于页面的有些程序可能调用的时候是用的是相对路径并根据url调的,而调用的程序并不在本机,所以“动态转静态”的时候由于url变了,导致程序调用的路径也变了。当然程序就找不到了。

第三:就是重写规则集如果不能避免有包含关系并且包含的内容有矛盾的话(不熟悉正则表达式特别爱犯的错误),顺序就应该是由小到大,并且后面要[L]。

第四:gogo407的规则我试,好像不起作用。我试验的方法是只留这一个规则,如果此规则可用的话othersite页面的后缀为JSP的话,应该可以重写吧。但是不行,本人还在看正则。希望知道的人再看看。

好就这样了,以后想到了再说。

谢谢
今天看了一下置顶的每周讨论专题里关于rewrite的讨论。。

看到了最后一个人发的帖子:

小弟正对url优化有些不解之处,请解惑,比如将

http://www.test.com/product/download/a/1/这种形式
代替
http://www.test.com/product/download.jsp?name=a&type=1
我在apache里实现rewrite,但是在理览器里输入
http://www.test.com/product/download/a/1/后,页面显示不完整,因为网页里的其它链接地址就错了,比如:
有个图片的地址是../images/d.jpg。在第2种形式里它会找
,这没错。但在第1种形式里,浏览器就找。当然找不到图片。
请问,应如何处理,谢谢。

和我最后遗留的一个问题是一样的,希望大家提点一下。
dddddddddddddd起来