[URL重写] 求教个rewrite规则的问题.

[URL重写] 求教个rewrite规则的问题.

怎样用.htaccess实现下面跳转.
用户访问
http://www.123.com/read-6789/
伪静态成
http://www.123.com/1/6789.html

如果上面那个页404不存在.则
伪静态成
http://www.123.com/2/6789.html

之间有个目录的跳转请问该怎么写呢?

顶顶.高手赐教!
rewriteRule ^http://www.123.com/read-6789/$ http://www.123.com/1/6789.html [PT,L]

注意后面的PT,如果是R那么就会跳转
呵呵。我从别的地方拷贝古来的。
我还是没明白楼上意思。我这个6789是会变的参数.可能是我没说明白吧.

怎样用.htaccess实现下面跳转.
用户访问
http://www.123.com/read-6789/
伪静态对应成
http://www.123.com/1/6789.html

如果上面那个页404不存在.则
伪静态对应成
http://www.123.com/2/6789.html

之间有个目录的跳转请问该怎么写呢?

比如用户访问
http://www.123.com/read-56789/
如果/1/56789.html 404不存在
就会显示/2/56789.html的内容

再比如用户访问
http://www.123.com/read-456789/
如果/1/456789.html 存在。则直接对应映射这个文件.不再跳到/2/456789.html 去了。
参看url重写指南~~
我记得这个板块有个关于rewrite模块的帖子提供了接近完整的答案,楼主可以找找。
那个我用了.是个301跳转.跳的时候浏览器上URL也会跟着改变.能否有302跳转的解决方案?
rewriteRule ^http://www.123.com/read-([0-9]+)/$ http://www.123.com/1/$1.html
至于1不存在则转到2的读法~ apache 怎么写我也不知道~ 不过有一个变通的方法就是借助CGI文件来实践.
经如先
RewriteRule ^/(.*) /处理文件.php/$1 [L]
然后在这个php文件中进行复杂的逻辑判断并输出.


QUOTE:
原帖由 fyshequ 于 2006-6-1 18:59 发表
我还是没明白楼上意思。我这个6789是会变的参数.可能是我没说明白吧.

怎样用.htaccess实现下面跳转.
用户访问
http://www.123.com/read-6789/
伪静态对应成
[url]http://www.123.com/1/6789.ht ...

使用
'-f' (是一个常规的文件[file])
将TestString视为一个路径名并测试它是否存在而且是一个常规的文件.
PT

http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/mod_rewrite.html