要解决Apache的HTTPS重定向对深链接无效的问题,可以使用以下代码示例:
首先,确保你的Apache服务器已启用了mod_rewrite模块。然后,在你的虚拟主机配置文件或.htaccess文件中添加以下代码:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这段代码使用mod_rewrite模块将所有非HTTPS请求重定向到HTTPS。它还包含一个条件来排除Let's Encrypt证书验证请求(.well-known/acme-challenge/),以确保证书申请过程不会受到影响。
将上述代码添加到你的配置文件或.htaccess文件后,重新启动Apache服务器。现在,无论是根链接还是深链接,都应该被正确地重定向到HTTPS。