道歉,如果之前已经涵盖过。我看了,但我是这个论坛和第一次海报的新手。
我在某些链接的末尾拾取%3e
个字符。一个错误的>
我肯定在哪里,我正试图追查。即使有验证员帮助它也很难。
与此同时,请问htaccess中重定向的语法是什么? 即只是删除该字符。
尝试但没有工作:
RewriteRule ^(.+)(\s|%3e)(.+)$ /$1$3 [R=301,QSA,L,NE]
答案 0 :(得分:0)
虽然您在网址中看到%3e
,但您希望在>
上匹配,因为这是解码并发送到服务器的实际字符。此模式将匹配并重定向任何链接,最后为>
。
# Enable mod_rewrite and set the base directory
RewriteEngine on
RewriteBase /
RewriteRule (.*)?(>)$ $1 [R=301,NC,QSA,L]
(.*)?
=任何角色,由于?(>)$
=网址末尾的>
[R=301]
=执行301重定向[NC]
=无案例(不区分大小写)[QSA]
=查询字符串追加(包括重定向中的查询字符串)[L]
=上一条规则(停止处理更多规则)使用http://htaccess.madewithlove.be/
进行测试作为旁注,这可能意味着您错过了其中一个<A>
nchor标签href属性的结束。例如<a href="http://example.com/page>My Link</a>
将在您的浏览器中生成http://example.com/page%3e
。