如何更改基本URL?


15

在Drupal 7中,我们可以快速更改网站的基本URL。
在Drupal 8中我该怎么做?

Answers:


14

在Drupal 8中,此选项已被删除。您无需进行配置 base_url即可运行您的网站。Drupal 8无需您的帮助即可检测到此问题。如果不是,则应首先检查Web服务器配置。

而不是base_url您应该trusted_host_patterns在settings.php中进行配置。运行站点不需要此操作,但是出于安全原因,这一点很重要。

更多信息:从settings.php中删除了base_url选项,为可信主机名配置添加了新设置

编辑:

从命令行或反向代理运行drupal时,有一些特殊的用例,它们过去曾使用$ base_url。由于symfony,不再能够以相同的方式支持此功能。目前正在讨论如何为这些情况提供解决方案。这并不意味着您不能从命令行或反向代理运行drupal。标准方法当然可以毫无问题。

您可以在此处关注开发:https : //www.drupal.org/node/2753591


1
抱歉,此答案部分具有误导性。您可以拥有完全有效的Web服务器配置,但仍需要一个base_url。$ base_url也回来了:drupal.org/node/2753591
Fidelix '16

当时我写了答案$ base_url不见了。如果又回来了,那就好。但是,大多数情况下,如果您在同一主机上使用vhosts和dns配置了多个安装,大多数情况下您实际上并不需要这样做,大多数共享托管环境将其作为标准配置选项提供。
4k4,13

同意 但是如果您需要$ base_url,则说Web服务器配置已损坏是一种误导。有很多有效的用例可以保证$ base_url。
Fidelix '16

2
这是删除$ base_url的动机:drupal.org/node/2528988(大量有效的用例:您可以随时将drupal 8移到子目录,并且它将在下一个请求中识别出它而无需更改配置)
4k4

好的,我现在在链接线程中看到您的观点,我将更改答案。
k 4

5

我认为在生产(http:// example.com/)和开发(http:// localhost /〜aviram / example.com /)之间移动时,曾经需要进行一些调整。但是不,D8足够聪明,可以自动修复链接。

移动了完整的站点(PHP文件和数据库转储)之后,即使数据库模型没有更新,也只需执行D8数据库更新过程(http://example.com/update.php)。这样可以解决问题。

我了解到这是与Drupal 8缓存相关的问题,可能是因为一些预渲染的内容保存在site / default / files / php /中。并且update.php进程以某种方式清除了此缓存。


1
是的,即使没有更新要运行,/ update.php也会始终清除缓存。如果您不想或无法访问另一种方法来清除缓存,这是将站点移至新位置后使其运行的好技巧。
k
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.