免费注册 查看新帖 |

Chinaunix

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

[Web] RewriteRule提取字符的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-21 02:43 |只看该作者 |倒序浏览
站点搬迁原有的URL需要301到新的URL上
old url:
www.mysite.com/blog/read.php/238.htm
new url
www.mysite.com/blog/?p=238
我写了一段:
RewriteCond %{PATH_INFO} [0-9]+
RewriteRule ^read\.php/[0-9]+\.htm$ /blog/?p=%{PATH_INFO} [R=301,L]
但是问题出在那个%{PATH_INFO} 上,如何让RewriteRule那行的 %{PATH_INFO}也就是/238.htm只提取238这几个数字呢?
不知道我的问题说明白没有T_T
那个变量必须都用
  1. HTTP headers: connection & request:  
  2. HTTP_USER_AGENT
  3. HTTP_REFERER
  4. HTTP_COOKIE
  5. HTTP_FORWARDED
  6. HTTP_HOST
  7. HTTP_PROXY_CONNECTION
  8. HTTP_ACCEPT
  9. REMOTE_ADDR
  10. REMOTE_HOST
  11. REMOTE_PORT
  12. REMOTE_USER
  13. REMOTE_IDENT
  14. REQUEST_METHOD
  15. SCRIPT_FILENAME
  16. PATH_INFO
  17. QUERY_STRING
  18. AUTH_TYPE
  19.   
  20. server internals: date and time: specials:
  21. DOCUMENT_ROOT
  22. SERVER_ADMIN
  23. SERVER_NAME
  24. SERVER_ADDR
  25. SERVER_PORT
  26. SERVER_PROTOCOL
  27. SERVER_SOFTWARE
  28. TIME_YEAR
  29. TIME_MON
  30. TIME_DAY
  31. TIME_HOUR
  32. TIME_MIN
  33. TIME_SEC
  34. TIME_WDAY
  35. TIME
  36. API_VERSION
  37. THE_REQUEST
  38. REQUEST_URI
  39. REQUEST_FILENAME
  40. IS_SUBREQ
  41. HTTPS
复制代码
这里的吗?

论坛徽章:
0
2 [报告]
发表于 2008-02-22 02:05 |只看该作者
自己已经解决
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{query_string} [0-9]+
RewriteRule ^read\.php$ /blog/?p=%{query_string} [R=301,L]
RewriteRule ^read\.php/([0-9]+)\.htm$ /blog/?p=$1 [R=301,L]
</IfModule>
用到了RewriteRule反向引用
解决过程在
http://www.2doit.net/blog/?p=542
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP