Apache 2.4.56 MOD_REWRITE不适用于 /cgi-bin/

Apache 2.4.56 MOD_REWRITE is not working for /cgi-bin/

提问人:TMTMTM 提问时间:11/7/2023 最后编辑:TMTMTM 更新时间:11/19/2023 访问量:55

问:

1.) 我有一个与文件 C:\xampp\htdocs\.htaccess 中的MOD_REWRITE相关的问题。

它似乎在除 /cgi-bin/ 以外的任何目录中都能很好地工作。

例如,当我尝试使用以下 RewriteRule 从 http:// 切换到 https:// 时:

RewriteCond %{SERVER_PORT} !^443$

RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]

它不会切换到 https:// 的 URL,例如:http://localhost/cgi-bin/test.cgi

虽然它对于以下 URL 做得很好:http://localhost/test.html

2.) 我的 C:\xampp\apache\conf\httpd.conf 有问题吗? 或者我需要在cgi-bin-Folder中放置另一个.htaccess文件副本吗?为了正常工作? 但是当我尝试这样做时,我的网络浏览器告诉我,我无权访问 /cgi-bin/ 中的 CGI 脚本:

例如:URL: http://localhost/cgi-bin/Test1.cgi

结果:

"Forbidden

You don't have permission to access this resource."

Apache/2.4.56 (Win64) OpenSSL/1.1.1t PHP/8.2.4 Server at localhost Port 80

我正在使用带有 XAMPP 的 Windows7 Pro。 Firefox 版本 115。

我试图将 .htaccess-File 从 DocumentRoot / 复制到 /cgi-bin,结果错误 403 禁止访问。

提前感谢您的回答。

apache mod-rewrite cgi-bin s3-rewrite-rules

评论


答:

0赞 TMTMTM 11/17/2023 #1

一个答案如下: C:\xampp\apache\conf\httpd.conf: “也许 /cgi-bin 的脚本别名指令优先于重写?删除 http 站点的脚本别名,看看它是否更好。

有了这个,它可以很好地 https:// - URLS,但我在浏览器中收到重定向错误。无法从服务器加载任何页面。