使用 .htaccess,我需要将任何此类 URL 更改
https://example.com:80/webtrees/anything_else
为完全相同的内容,但使用 443 而不是 80
请注意,我的 .htaccess 中已经有这个(它是从 http 更改为 https,它应该保留在那里,而且我不明白这个语法):
RewriteEngine on RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://example.com/$1 [R=301,L]
谢谢!
答案1
Stack Overflow 上对此进行了回答:
https://stackoverflow.com/questions/23027847/htaccess-specific-url-to-different-port
我将修改答案以适应您的情况。答案是“条件:如果不是 443,则重写为 https。这应该会删除该端口数据。您之前的条件是基于协议的,而不是基于端口的。
# redirect to 443 if current port is not 443
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://example.com/$1 [R=301,L]
警告: 如果您尝试强制使用 https,我不会依赖这些规则。我会完全关闭端口 80。这样,如果他们绕过您的规则,他们就会看到 404 错误。