在我面向公众的主机上,Apache 充当非公共主机的反向代理,其中 Drupal 9 实例在 Web 根目录下进行符号链接。Drupal 回答请求,但它输出包含符号链接名称的任何本地链接。显然是因为 PHP 请求变量$_SERVER['SCRIPT_NAME']
包含它。
我如何告诉 Drupal 它的“实际”基本路径?
细节
公共主机配置:
<Location "/">
ProxyPreserveHost on
ProxyPassReverse "https://otherserver/webb/"
</Location>
在 上otherserver
,我的域example.com
是一个虚拟主机,其根目录位于/var/www/sites/example.com/html
. 有这个符号链接webb
,指向 Drupal 位置:
/var/www/sites/example.com/html/webb -> /var/www/sites/example.com/html/drupal8/web/
Drupal 会响应,但在响应 HTML 中,应该指向的链接是指向/about
,/webb/about
资产等也是如此。
如果我回应$_SERVER['SCRIPT_NAME']
,我得到/webb/index.php
。