-1

抱歉,如果这已经被覆盖过。我看过,但我是这个论坛的新手,也是第一次发帖。

我在%3e一些链接的末尾拿起字符。我确定是一个错误的>地方,我正在努力追查。即使有验证者的帮助,这也是一个艰难的过程。

同时,请问在 htaccess 中重定向的语法是什么?即简单地删除该字符。

尝试但不工作:

RewriteRule ^(.+)(\s|%3e)(.+)$ /$1$3 [R=301,QSA,L,NE]
4

1 回答 1

0

虽然您%3e在 URL 中看到,但您希望匹配 on,>因为这是被解码并发送到服务器的实际字符。此模式将匹配并重定向任何以 a>结尾的链接。

# Enable mod_rewrite and set the base directory
RewriteEngine on
RewriteBase /
RewriteRule (.*)?(>)$ $1 [R=301,NC,QSA,L]
  • (.*)?= 任何字符,不贪心,因为 ?
  • (>)$= >URL 末尾的
  • [R=301]= 执行 301 重定向
  • [NC]= 无大小写(不区分大小写)
  • [QSA]= 查询字符串追加(在重定向中包含查询字符串)
  • [L]= 最后一条规则(停止处理更多规则)

使用http://htaccess.madewithlove.be/进行测试

作为旁注,这可能意味着您缺少一个<A>nchor 标签 href 属性的关闭。例如<a href="http://example.com/page>My Link</a>将在您的浏览器中生成一个 URL http://example.com/page%3e

于 2013-11-09T14:58:22.253 回答