请教一个url重写rewrite怎么写

zhongmao 2008-10-10 03:34:51
服务器是apache2.2
有如下的一些网址
http://www.host.com/a/axxxx
http://www.host.com/b/bxxxx
xxxx为4个小写字母或者数字的组合(最后一个/后面总共是5位)

我想让凡是最后/后是5位的地址都变成下面的形式
http://www.host.com/axxxx
http://www.host.com/bxxxx

apache的rewrite能做到吗?
如果能,规则要怎么写?

小弟刚用apache,对rewrite不熟,希望大家帮忙。
...全文
185 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
freewing 2008-10-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zhongmao 的回复:]
引用 4 楼 freewing 的回复:
试试这个:
RewriteRule ^(a|b)/(a|b)(\w{4,4})$ /$2$3


你这个是输入http://www.host.com/a/axxxx访问http://www.host.com/axxxx吧,
和我要的结果是相反的
[/Quote]

对比下楼顶的问题,貌似有点矛盾...


[Quote=引用 8 楼 zhongmao 的回复:]
freewing:

受你的启发,我自己倒是把这个规则写出来了。
<IfModule mod_rewrite.c>
RewriteEngine On
#http://www.host.com/axxxx => http://www.host.com/a/axxxx
RewriteRule ^(\w{1,1})(\w{4,4})/{0,1}$ /$1/$1$2 [QSA,L]
</IfModule>

现在又有另一个问题了,页面从http://www.host.com/axxxx 转到 http://www.host.com/a/axxxx后,浏览器的地址变成了http://www.host.com/a/axxxx,如何让浏览器中显示的地址不变呢,也就是还是显示为http://www.host.com/axxxx
[/Quote]

更不明白楼主想干啥了... 楼主可以再仔细理解下“rewriter”

假如理解楼主的真实地址是http://www.host.com/a/axxxx 想让人通过http://www.host.com/axxxx来访问,那就看看我最早回答的。
假如理解楼主的真实地址是http://www.host.com/axxxx 想让人通过http://www.host.com/a/axxxx来访问,那就是你自己写的。

robinevangel 2008-10-14
  • 打赏
  • 举报
回复
学习学习
niwen85 2008-10-13
  • 打赏
  • 举报
回复
好久没有用php了
xiaojing7 2008-10-13
  • 打赏
  • 举报
回复
学习了
yeah920 2008-10-13
  • 打赏
  • 举报
回复
顺便学习。顶顶贴。
街头小贩 2008-10-10
  • 打赏
  • 举报
回复
陪LZ学习:)
zhongmao 2008-10-10
  • 打赏
  • 举报
回复
freewing:

受你的启发,我自己倒是把这个规则写出来了。
<IfModule mod_rewrite.c>
RewriteEngine On
#http://www.host.com/axxxx => http://www.host.com/a/axxxx
RewriteRule ^(\w{1,1})(\w{4,4})/{0,1}$ /$1/$1$2 [QSA,L]
</IfModule>

现在又有另一个问题了,页面从http://www.host.com/axxxx 转到 http://www.host.com/a/axxxx后,浏览器的地址变成了http://www.host.com/a/axxxx,如何让浏览器中显示的地址不变呢,也就是还是显示为http://www.host.com/axxxx
zhongmao 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 freewing 的回复:]
试试这个:
RewriteRule ^(a|b)/(a|b)(\w{4,4})$ /$2$3
[/Quote]

你这个是输入http://www.host.com/a/axxxx访问http://www.host.com/axxxx吧,
和我要的结果是相反的
fenin123 2008-10-10
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/zh-cn/library/ms972974.aspx#XSLTsection128121120120
看这里,里面介绍很详细
freewing 2008-10-10
  • 打赏
  • 举报
回复
刚才放.htaccess里用PHP测了一下,应该可以.
freewing 2008-10-10
  • 打赏
  • 举报
回复
试试这个:
RewriteRule ^(a|b)/(a|b)(\w{4,4})$ /$2$3
daeng2 2008-10-10
  • 打赏
  • 举报
回复
不熟一同学习了。
jhwcd 2008-10-10
  • 打赏
  • 举报
回复
apache不熟,WIN2003知道怎么做,楼下会的继续。

24,918

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧