gpt4 book ai didi

.htaccess - 如何使用 .htaccess 从 URL 中删除 .cgi?

转载 作者:行者123 更新时间:2023-12-04 01:08:01 25 4
gpt4 key购买 nike

我使用 .cgi 文件在我的服务器上运行 python。但是,无论何时有人访问该站点,都会将他们带到https://example.com/main.cgi/。 (main.cgi 是 cgi 文件的名称)。有没有办法从 .htacess 文件中删除它,所以它转到 https://example.com/但仍然运行 cgi 文件?

这是当前的 .cgi 文件:

RewriteEngine On
RewriteBase /website

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /main.cgi/$1 [L]

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

我如何制作一个 RewriteRule 使 URL / 转到 /main.cgi/ 而它不出现在 URL 中?

最佳答案

您应该将您的 https 实现作为您的 .htaccess 文件的第一条规则,请您尝试遵循。根据您显示的示例编写,请确保在测试您的 URL 之前清除缓存。

RewriteEngine ON
##Rule for applying https to non-http calls.
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

##Look for if any page doesn't have `/`slashes at the end then add it.
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ $1/ [R=301,L]

##Rules for non exiting file or directory to main.cgi file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ main.cgi [L]

注意: 使用 RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE ] 个人在末尾给了我 1 个斜杠,所以我写了一个单独的规则来为这个添加尾随 /,以避免在末尾出现 2 次 /网址。

关于.htaccess - 如何使用 .htaccess 从 URL 中删除 .cgi?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65684897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com