免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1536 | 回复: 5
打印 上一主题 下一主题

[Web] 求助,关于mod_rewrite [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-18 12:15 |只看该作者 |倒序浏览
小弟要实现以下功能
用户输入blog.abc.com/1000(其中1000是用户id),然后跳转到blog.abc.com/index.php?id=1000

用mod_rewrite来做跳转,只有点思路,看了很多文档,都没有类似带参数的,请各位达人帮帮忙,说说芳芳,小弟在这谢过了,万分感激

论坛徽章:
0
2 [报告]
发表于 2006-05-18 12:48 |只看该作者
1.首先配置apache的httpd.conf,目的是使.htaccess文件生效
<VirtualHost a.b.c.d>
    ServerAdmin a@b.com
    DocumentRoot /var/www/foo
    ServerName blog.abc.com
<Directory />
      Options FollowSymLinks
      AllowOverride All
</Directory>
</VirtualHost>

注意,这里必须是FollowSymLinks,AllowOverride是All,否则rewrite引擎根本不起作用,另外如果你的apache默认根目录是/var/www 的话,在/var/www的配置字段也要设置
Options FollowSymLinks
AllowOverride All

2.然后开启模块
RewriteEngine   on
RewriteBase     /
RewriteRule      ^/(.*)    http://blog.abc.com/index.php\?id=$1 [R]

[ 本帖最后由 zhuomingliang 于 2006-5-18 12:55 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-05-22 09:10 |只看该作者
zhuomingliang 的可以跳转,但我想对只是数字才进行跳转,我把rewriterule改成这样:
RewriteRule      ^/(\d)    http://blog.abc.com/index.php\?id=$1 [R]  

就不能跳转,是不是正则错了?

论坛徽章:
0
4 [报告]
发表于 2006-05-22 10:13 |只看该作者
RewriteRule      ^/([0-9]+)$    http://blog.abc.com/index.php\?id=$1 [R]

论坛徽章:
0
5 [报告]
发表于 2006-05-22 10:17 |只看该作者
\d 只匹配一个字符

论坛徽章:
0
6 [报告]
发表于 2006-05-22 13:44 |只看该作者
RewriteRule      ^/([1-9][0-9]+)$    http://blog.abc.com/index.php\?id=$1 [R]

这样应该是匹配非0开头的数字吧?我再试一试
我上次写好像是漏了圆括号了,看来得恶补一下正则。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP