免费注册 查看新帖 |

Chinaunix

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

[Web] 问个apache永久转向的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-05-22 09:44 |只看该作者 |倒序浏览
5可用积分
  1. RewriteEngine  on
  2. RewriteBase /
  3. RewriteCond %{http_host} ^www\.bbb\.com$ [NC]
  4. RewriteRule ^showWare\.action\?wareId=(\d+) /$1\.html [L,R=301]
复制代码
网站基本上是http://www.bbb.com/showWare.action?wareId=80这样子的,我想变为http://www.bbb.com/80.html

上面的规则好像没生效...

最佳答案

查看完整内容

LZ的目的是要将地址进行SEO,80.html实际上并不存在,showWare.action才是实际的文件。如果要将showWare.action?wareId=80这样的请求重定向到80.html,可以直接在文件中操作。以上代码经测试无误!

论坛徽章:
0
2 [报告]
发表于 2010-05-22 09:44 |只看该作者
本帖最后由 nonultimate 于 2010-06-04 14:45 编辑

LZ的目的是要将地址进行SEO,80.html实际上并不存在,showWare.action才是实际的文件。
  1. RewriteEngine  on
  2. RewriteCond %{HTTP_HOST} ^www.bbb.com$ [NC]
  3. RewriteRule ^([0-9]+)\.html$ /showWare.action?wareId=$1 [L]
复制代码
如果要将showWare.action?wareId=80这样的请求重定向到80.html,可以直接在文件中操作。
  1. if (!empty($_GET['wareId'])) {
  2.     // 使用301永久重定向
  3.     header('Loaction: /' . $_GET['wareId'] . '.html', TRUE, 301);
  4. }
复制代码
以上代码经测试无误!

论坛徽章:
0
3 [报告]
发表于 2010-05-22 11:40 |只看该作者
本帖最后由 blueswxs 于 2010-05-22 11:42 编辑

RewriteEngine  on
RewriteBase /
RewriteCond %{http_host} ^www\.bbb\.com$ [NC]
RewriteRule ^/showWare\.action\?wareId=([0-9]+) /$1\.html [L,R=301]


试试

论坛徽章:
0
4 [报告]
发表于 2010-05-22 11:55 |只看该作者
RewriteEngine  on
RewriteBase /
RewriteCond %{http_host} ^www\.bbb\.com$ [NC]
RewriteRule ^/showWare\.action\?wareId=([0-9]+) /$1\.html [L,R=301]


试试
blueswxs 发表于 2010-05-22 11:40



    谢谢回复,支持perl的正则,[0-9]与\d应该一样的,这样还是不行的...

论坛徽章:
0
5 [报告]
发表于 2010-05-22 17:32 |只看该作者
  1. [root@ppp html]# elinks -dump 'http://127.0.0.1/showWare.actionware?Id=88'
  2.    8888
  3. [root@ppp html]# cat /var/www/html/88.html
  4. 8888

复制代码
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteCond %{http_host} ^127.0.0.1$ [NC]
  4. RewriteCond %{QUERY_STRING} ^Id=([0-9]+)$
  5. RewriteRule ^showWare\.actionwar /%1\.html [L,R=301]
复制代码
127.0.0.1 记得要换成你的域名哦。

论坛徽章:
0
6 [报告]
发表于 2010-05-24 14:14 |只看该作者
  1. RewriteEngine  on
  2. RewriteBase /
  3. RewriteCond %{http_host} ^www\.bbb\.com$ [NC]
  4. RewriteRule ^/([0-9]+)\.html  /showWare\.action\?wareId=([0-9]+) [L,R=301]
复制代码

论坛徽章:
0
7 [报告]
发表于 2010-05-25 13:01 |只看该作者
回复 4# blueswxs


    这个测试后还是不行...

论坛徽章:
0
8 [报告]
发表于 2010-05-25 13:02 |只看该作者
回复 5# 有狼出没


    http://bbs.chinaunix.net/viewthread.php?tid=1698364

   也是不行,

论坛徽章:
0
9 [报告]
发表于 2010-05-25 15:20 |只看该作者
回复  blueswxs


    这个测试后还是不行...
bsdsir 发表于 2010-05-25 13:01



   
<Directory "/var/www/html">
RewriteEngine On
RewriteBase /
RewriteCond %{http_host} ^127.0.0.1$ [NC]
RewriteCond %{QUERY_STRING} ^Id=([0-9]+)$
RewriteRule ^showWare\.actionwar /%1\.html [L,R=301]
</Directory>

RewriteLog "/var/log/httpd/rewrite.log"
RewriteLogLevel 9

我开始测试也不成,通过观察日志,最后找到办法了。

论坛徽章:
0
10 [报告]
发表于 2010-05-25 16:33 |只看该作者
回复 8# blueswxs


    我把这些写到.htaccess里的..
  1. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9742b68/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/JXY_3009.jpg
  2. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9779d08/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/JXY_3026.jpg -> userfiles
  3. /image/JXY_3026.jpg
  4. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9779d08/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/JXY_3026.jpg'
  5. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9779d08/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/JXY_3026.jpg
  6. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9796ca0/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/JXY_3027.jpg -> userfiles
  7. /image/JXY_3027.jpg
  8. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9796ca0/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/JXY_3027.jpg'
  9. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9796ca0/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/JXY_3027.jpg
  10. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9761c48/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/JXY_3005.jpg -> userfiles
  11. /image/JXY_3005.jpg
  12. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9761c48/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/JXY_3005.jpg'
  13. 192.168.1.230 - - [25/May/2010:16:22:16 +0800] [192.168.1.214/sid#955efa0][rid#9761c48/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/JXY_3005.jpg
  14. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9791c90/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/popDialog.js -> popDialog.js
  15. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9791c90/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'popDialog.js'
  16. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9791c90/initial] (1) [perdir /projects/test/] pass through /projects/test/popDialog.js
  17. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9793c98/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/images/wareImage/DSC00.jpg -> images/ware
  18. Image/DSC00.jpg
  19. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9793c98/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'images/wareImage/DSC00.jpg'
  20. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#9793c98/initial] (1) [perdir /projects/test/] pass through /projects/test/images/wareImage/DSC00.jpg
  21. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#974ec68/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/照片 1416.jpg -> userfile
  22. s/image/照片 1416.jpg
  23. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#97a7ce0/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/照片 1418.jpg -> userfile
  24. s/image/照片 1418.jpg
  25. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#97a7ce0/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/照片 1418.jpg'
  26. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#97a7ce0/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/照片 1418.jpg
  27. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#974ec68/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/照片 1416.jpg'
  28. 192.168.1.230 - - [25/May/2010:16:22:51 +0800] [192.168.1.214/sid#955efa0][rid#974ec68/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/照片 1416.jpg
  29. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#974eb90/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/照片 1437.jpg -> userfile
  30. s/image/照片 1437.jpg
  31. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#974eb90/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/照片 1437.jpg'
  32. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#974eb90/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/照片 1437.jpg
  33. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#9744b70/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/照片 1453.jpg -> userfile
  34. s/image/照片 1453.jpg
  35. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#9744b70/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/照片 1453.jpg'
  36. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#9744b70/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/照片 1453.jpg
  37. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#976ad40/initial] (3) [perdir /projects/test/] strip per-dir prefix: /projects/test/userfiles/image/照片 1451.jpg -> userfile
  38. s/image/照片 1451.jpg
  39. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#976ad40/initial] (3) [perdir /projects/test/] applying pattern '^showWare\.actionwar' to uri 'userfiles/image/照片 1451.jpg'
  40. 192.168.1.230 - - [25/May/2010:16:22:52 +0800] [192.168.1.214/sid#955efa0][rid#976ad40/initial] (1) [perdir /projects/test/] pass through /projects/test/userfiles/image/照片 1451.jpg
复制代码
我可以让http://www.bbb.com/80.html  和http://www.bbb.com/showWare.action?wareId=80共存,但是没办法让地址栏只是显示http://www.bbb.com/80.html

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP