我在 XAMPP 上托管了一个应用程序,我的应用程序 URL 是https://abc.example.com/pps/prd/我在 pps/prd/ 有一个 htaccess 文件,其中有以下代码可以阻止主机头注入
RewriteEngine On
RewriteCond %{HTTP_HOST} !^([a-zA-Z0-9-_]{1,20}.){0,3}example.com$
RewriteRule ^ - [F]
当我点击网址时https://abc.example.com/pps/prd/请求标头中包含一些其他主机。它按预期工作,我收到来自服务器的 403 响应。
我的问题是当我点击 url 时:https://abc.example.com/pps/prd(没有尾随斜杠)在请求标头中使用其他主机(如 example123.com),那么我将得到永久移动的响应 301,并且会在我发送原始请求标头的主机上发起新请求,在这种情况下为 example123.com,https://example123.com/pps/prd/ ,这不应该发生。
当 URL 以“/”结尾时,htaccess 可以正常工作,但如果 URL 末尾没有“/”,则无法正常工作