我使用共享主机,因此只能通过 htaccess 进行重定向,但计划是让多个子域(每个子域都有一个通过 cPanel 颁发的 letsencrypt 证书)指向主域文件夹中的一组通用 php 文件,并使用 ?site= 变量进行区分。我还使用 [P] 标志来防止用户知道他们已被重定向并隐藏 ?site= 变量。
通过cPanel创建子域名,然后颁发LE SSL证书;
example.com - 将包含管理页面,以及用于子域名的文件夹 site1.example.com - 指向 example.com/folder/?site=site1 site2.example.com - 指向 example.com/folder/?site=site2
在对所有内容进行 https 连接之前,我已经让它工作了(site1 的 .htaccess - site2、site3 等将相同,但 site= 已更改);
RewriteEngine on RewriteRule ^(.*)$ http://example.com/folder/$1?site=site1&%{QUERY_STRING} [P]
但将规则更改为 https:// 会导致 500 内部服务器错误。将 [P] 更改为 [L] 有效,但会向用户显示更新后的 URL。
cPanel 的错误页面中似乎没有出现任何错误,这使得调试变得困难。
使用 mod_rewrite 和 https 是否能实现这一点?或者我应该减少损失,将文件保存在每个子域中以方便使用。