Sam*_*mmy 7 php apache .htaccess drupal-6 http-status-code-403
这不是一个重复的问题。
首先,我有3个“相同”的Drupal 6.20 CMS桌面类型网站,使用MySQL数据库5.7.23和PHP 5.6.40。
所有这 3 个网站都已存在多年,以前从未遇到过此问题。
最近,内置搜索的 3 个网站中的 2 个(站点 1)http://sam308.com/和(站点 2)http://closefocusresearch.com/也遇到了完全相同的问题。
问题是:
例如,在http://closefocusresearch.com/上,当我使用网站上的内置搜索表单,并使用两个词的术语(例如不带引号的“防弹衣”)或使用任何多词搜索词时包含空格,搜索结果会显示消息 ERROR 403 - FORBIDDEN。不过,下面的搜索结果网址没有改变。
该页面的搜索结果网址为:
http://closefocusresearch.com/search/node/body%20armor
Run Code Online (Sandbox Code Playgroud)
在出现此问题之前,上述搜索结果 url 将显示正确的搜索结果。
现在, url 中的%20导致错误 403 - FORBIDDEN 结果,如下图所示。
由于防弹衣这两个词之间的空格已被替换为%20,我现在遇到了 403 错误。仅当搜索词包含空格时才会发生这种情况,否则工作正常。
附带说明一下,如果手动将%20替换为%2520,将url 中的%替换为%25 ,如下所示,那么我会得到正确的搜索结果。
http://closefocusresearch.com/search/node/body%2520armor
Run Code Online (Sandbox Code Playgroud)
如果您想亲自测试,请使用主页上的站点搜索框。
我花了 3 天的时间试图在互联网和 drupal.org 上查找此行为的原因,但找不到解决方案。所有 3 个网站上的所有文件权限都是相同的。
我也尝试从我的托管公司获得支持,但他们无法提供任何帮助。
我还尝试修改 .htaccess 文件来纠正此行为,但没有成功。我不是编写 RewriteRule 规则的专家。
是否是最近的 Apache 更新错误导致了此问题?注意:我无法访问共享托管计划上的 Apache 系统。
关于如何解决这个问题有什么想法吗?
感谢您的时间。
小智 12
我按照此处的说明进行操作,看起来解决了问题: AH10411 error:Managing Spaces and %20 in apache mod_rewrite
将您的 .htaccess 更改为:
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
到:
RewriteRule ^(.*)$ index.php?q=$1 [B,L,QSA]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2360 次 |
| 最近记录: |