免费注册 查看新帖 |

Chinaunix

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

这样的规则rewrite该如何写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-30 13:58 |只看该作者 |倒序浏览
rencai123456.html?key=网页设计
我想把上面的url rewrite到resume.php?id=123456&key=网页设计
apache2.2中的rewrite规则要怎么写呢?
有时候没有key参数也要能正确重定向,比如rencai123456.html到resume.php?id=123456

RewriteRule ^rencai([0-9a-z]+)\.html?key=([.]+)$ resume.php?id=$1&key=$2 这样写返回404错误。

论坛徽章:
0
3 [报告]
发表于 2013-05-30 15:31 |只看该作者
本帖最后由 satrun7 于 2013-05-30 15:34 编辑

看错了意思,再修改一下

  1. RewriteCond %{QUERY_STRING} key=(.*)$
  2. RewriteRule ^rencai([0-9a-z]+)\.html resume.php?id=$1&key=%1 [L]
  3. RewriteRule ^rencai([0-9a-z]+)\.html resume.php?id=$1 [L]
复制代码

论坛徽章:
0
5 [报告]
发表于 2013-06-01 09:10 |只看该作者
回复 3# satrun7

请问RewriteCond %{QUERY_STRING} key=(.*)$ 只对下一条RewriteRule ^rencai([0-9a-z]+)\.html resume.php?id=$1&key=%1 [L] 有效吗?
我在下面再添加一条 RewriteRule ^job([0-9a-z]+)\.html job.php?id=$1&key=%1 [L]  就取不到key的值了,必须再写一次RewriteCond %{QUERY_STRING} key=(.*)$

RewriteCond %{QUERY_STRING} key=(.*)$
RewriteRule ^rencai([0-9a-z]+)\.html resume.php?id=$1&key=%1 [L]
RewriteCond %{QUERY_STRING} key=(.*)$
RewriteRule ^job([0-9a-z]+)\.html job.php?id=$1&key=%1 [L]


   

论坛徽章:
0
2 [报告]
发表于 2013-05-30 15:20 |只看该作者
本帖最后由 satrun7 于 2013-05-30 15:21 编辑

  1. RewriteCond %{QUERY_STRING} ^id=([0-9]+)&key=(.*)$
  2. RewriteRule ^rencai([0-9a-z]+)\.html resume.php?id=%1&key=%2 [L]
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-05-30 16:00 |只看该作者
本帖最后由 hq22 于 2013-05-30 16:03 编辑

对了,非常感谢!


   

论坛徽章:
0
6 [报告]
发表于 2013-06-02 07:56 |只看该作者
查过资料了,的确RewriteCond只针对下一条RewriteRule生效,就像if条件语句
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP