网址跳转中如何删除末尾的 #lastpost

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
Post Reply
白城哨站
Posts: 19
Joined: May 21 2014, 13:06

网址跳转中如何删除末尾的 #lastpost

Post by 白城哨站 »

1.网址跳转,网址最后的 #lastpost 如何去掉?如果在表达式末尾添上 #lastpost,虽然测试可以匹配,但实际应用无效。如果用 \a,可以匹配并跳转,但效果仍是带着 #lastpost,另外问一下,替换文本能否用 \a,试了下没反应?

原网址:

Code: Select all

http://www.discuz.net/forum.php?mod=viewthread&tid=3157063&page=4#lastpost
规则跳转到:

Code: Select all

http://www.discuz.net/thread-3157063-1-1.html#lastpost
希望跳转到:

Code: Select all

http://www.discuz.net/thread-3157063-1-1.html

Code: Select all

[HTTP headers]
In = TRUE
Out = TRUE
Key = "URL:重定向"
URL = "\0forum.php\?mod=viewthread\&tid=*\&page=*"
Match = "\0forum.php\?mod=viewthread\&tid=\1\&page=*"
Replace = "$JUMP(\0thread-\1-1-1.html)"
2.创建该规则时,每次修改后点击“应用”,都弹出一个提示窗口

Total:10
processed:9

以前未遇到过,请问这是什么意思,如何触发该窗口?算上新建的这条,HTTP headers规则倒是正好10条。后来程序崩溃了,规则没保存,再试也没能重现。
User avatar
phoenix
Site Admin
Posts: 526
Joined: Dec 29 2007, 16:27

Re: 网址跳转中如何删除末尾的 #lastpost

Post by phoenix »

1. 网页请求都不包含 # 部分,你可以在 Log Window 中验证。你的要求只能通过 Web Filter 来实现,在那里可以使用 \a 来匹配 # 部分。你的规则写得不规范,请参考 http://forum.proxomitron.cn/viewtopic.php?f=2&t=10

2. 没遇到过。
白城哨站
Posts: 19
Joined: May 21 2014, 13:06

Re: 网址跳转中如何删除末尾的 #lastpost

Post by 白城哨站 »

感谢解答,后来没法子确实用普通替换先把文本删除了。但\a不知道怎么用,必须在$SET、$GET中?还没学到。
对比了那帖,还是不明白,目前在用这个写法,应当如何修改?查找和替换写进一行?
不超过一页的没有page参数,不知道怎么加判断,干脆分了两条

Code: Select all

[HTTP headers]
In = TRUE
Out = TRUE
Key = "URL:重定向1非第一页"
URL = "www.discuz.net|bbs.enorth.com.cn"
Match = "\0forum.php\?mod=viewthread\&tid=([0-9]+)\1\&page=([0-9]+)\2"
Replace = "$JUMP(\0thread-\1-\2-1.html)"

In = TRUE
Out = TRUE
Key = "URL:重定向2第一页"
URL = "www.discuz.net|bbs.enorth.com.cn"
Match = "\0forum.php\?mod=viewthread\&tid=([^&]+)\1(^\&)"
Replace = "$JUMP(\0thread-\1-1-1.html)"
点哪里才是回复你啊?这样能知道?
User avatar
cre
Moderator
Posts: 91
Joined: May 26 2009, 00:34

Re: 网址跳转中如何删除末尾的 #lastpost

Post by cre »

我就纳闷了,你那规则会
才是奇怪的事吧..
你确定你规则没问题吗?


自写条测试

Code: Select all

[HTTP headers]
In = FALSE
Out = TRUE
Key = "New-HTTP-header: discuz jump test"
URL = "www.discuz.net/forum.php?mod=viewthread\&tid=\1\&page=([0-9]+)\2 $JUMP(http://www.discuz.net/thread-\1-\2-1.html)"
应该是没问题的....
倒是跳转到:

Code: Select all

http://www.discuz.net/thread-3157063-1-1.html#lastpost
还真跳不到呢....#确实匹配上有问题 只能忽略了


除非用

Code: Select all

[HTTP headers]
In = FALSE
Out = TRUE
Key = "New-HTTP-header: discuz jump test"
URL = "www.discuz.net/forum.php?mod=viewthread\&tid=\1\&page=([0-9]+)\2 $JUMP(http://www.discuz.net/thread-\1-\2-1.html#lastpost)"
问题是这lastpost参数根本是没用的....就算是末页也不会自动往下跳哦,首页就更是多此一举了.
2014-05-23_152230.png
2014-05-23_152230.png (36.09 KiB) Viewed 18599 times
白城哨站
Posts: 19
Joined: May 21 2014, 13:06

Re: 网址跳转中如何删除末尾的 #lastpost

Post by 白城哨站 »

哎呀,没发现竟然连官网都没有锚点,亏我还拿官网当例子,不是所有Discuz!网站都设置了锚点?搜了搜,也有有的http://bbs.zb7.com/thread-418088-1-1.html#lastpost
http://www.fc333.net/thread-492250-1-1.html#lastpost
我现在先用网页规则删掉#lastpost,再配合跳转规则,用了两天,挺不错。
Post Reply