2016-03-23 27 views
2

我们有一个运行在nginx + php-fpm上的drupal 8的web服务器。我们想使用反向代理服务器就D8网站发布为www.somedomain.com/drupal8Drupal 8 + Nginx反向代理作为子目录

nginx的配置工作得很好:

location /article_dev/ { 
    proxy_buffers 32 32k; 
    proxy_buffer_size 32k; 
    proxy_pass http://192.168.158.148:80/; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_set_header X-Forwarded-By $server_addr:$server_port; 
    proxy_set_header X-Real-IP $remote_addr; 
} 

,并在settings.php配置我已经设置了反向代理设置。问题是,当我访问externaldomain.com/article_dev/我看到d8页面,但没有CSS等被加载,因为资源的路径是:externaldomain.com/path_to_ressource而不是externaldomain.com/article_dev/path_to_ressource

在较早版本的Drupal(6和7)中,可以设置全局$ base_url来完成这个任务。由于D8的$ BASE_URL已在settings.php配置了depreated原因这里https://www.drupal.org/node/2528988

解释然而,这是不是给我带来任何接近实现目标,以代理的第二个站点作为一个子目录...

任何帮助将不胜感激!

问候, 牛逼

+1

你有没有想出解决办法?我也在设置子目录中的D8时遇到麻烦。这似乎不可能。 – Ryan

回答

0

我觉得应该通过实现多站点和sites.php添加一行到$网站阵列工作,所以它看起来像这样:

$sites = array(
    ..existing code.. 
    'externaldomain.com.path_to_resource.article_dev' => '<site>', 
);