首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AH10411:重写的查询字符串包含控制字符或空格

AH10411:重写的查询字符串包含控制字符或空格
EN

Webmasters Stack Exchange用户
提问于 2023-03-13 05:19:33
回答 2查看 2.6K关注 0票数 7

如何重现错误:--我的URL中的一个空格将触发错误。

观察错误:--似乎是在3/10左右突然发生的。--我没有升级我的Apache版本,但是-1ubuntu4.27包似乎是自动安装的(/var/log/dpkg.log上有相关的消息)。-打开浏览器: 403禁止错误。-在Apache日志上:它获得AH10411: Rewritten query string contains control characters or spaces错误。

潜在的解决方案:我发现了两个引用,user @MrWhite建议在RewriteRule上使用D4标志。它确实适用于我的服务器。

My问题:-确切地说,是那个导致错误的特定包吗?--这个问题只发生在RewriteRule上吗?--有通用的修复吗?我的意思是,如果我有多个应用程序,而不是修改它们的每个RewriteRule,那么是否有可能一次进行修正,并且修复可以应用于整个服务器?

相关参考资料:-- https://stackoverflow.com/questions/75684314/ah10411-error-managing-spaces-and-20-in-apache-mod-rewrite -- 重写规则开始返回403禁止错误

EN

回答 2

Webmasters Stack Exchange用户

发布于 2023-03-29 04:54:41

正如罗希特古普塔在一条评论中指出的那样,Apache2在这个git拉请求中出现了变化,我只需更改我的RewriteRules以包含BBNP标志。

例如:

代码语言:javascript
运行
复制
RewriteRule ^(.*)$ index.php?q=$1 "[L,QSA,B= ?,BNP]"

旧的RewriteRule不包括BBNP条目。对于您的服务来说,BNP可能不是必需的。它确保空间使用%20而不是+ (即NP作为No Plus)。

请确保以这种方式更改所有RewriteRule

<#>IMPORTANT注意:在这种情况下,引号很重要,因为默认情况下,空格分隔参数。换句话说:将被视为,而且很明显,Apache2将无法加载该数据。

票数 5
EN

Webmasters Stack Exchange用户

发布于 2023-04-11 15:55:17

尝试用+替换空格

在后面添加以下内容

代码语言:javascript
运行
复制
RewriteBase /
RewriteRule ^(.*)\ (.*)$ /$1+$2 [L,R=301]

在主.htaccess中

票数 0
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/141837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档