我遇到drupal多站点设置问题。我在同一个drupal安装中有4个网站: www.example.com/fr,www.example.es,www.example.it,www.example.be/fr 我在htaccess文件中应用了公共https重定向规则:
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
以“/ fr”结尾的所有域名都很棒。对于其他人,域主页仍然在http,其他网址工作得很好。那是我的问题。 如何使所有域工作(最后有或没有/ fr)。 请帮帮我。
答案 0 :(得分:0)
尝试添加以下内容 参考:d7 multisite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} ^/site1
RewriteRule ^ site1/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} ^/site2
RewriteRule ^ site2/index.php [L]
另外:
您可以修改文件sites / site.php
中的站点名称还使用站点的凭据更新settings.php文件。
还需要从主机设置更新网站网址
答案 1 :(得分:0)
我尝试过这个解决方案:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} ^/example.it
RewriteRule ^ example.it/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} ^/example.es
RewriteRule ^ example.es/index.php [L]
我在htaccess的第一个代码之前添加了这个。什么都没发生。我查看了sites.php文件,所有内容都被注释掉了。我不得不说,我不是第一次建立网站的人。我已经完成了这个项目,旧的开发人员已经不在了。所有的网站都很棒。我只需要向他们添加https,这就是提出问题的地方
答案 2 :(得分:0)
以下解决方案适用于d7多站点
在.htaccess中包括以下几行
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
引荐-https://forums.cpanel.net/threads/http-to-https-redirects-for-drupal-multisite-setup.606891/