drupal如何配置受信任的主机模式?
后台提示错误 Just installed Drupal 8 and am getting a notice in my Status Report that Trusted Host Patterns has not been configured in my settings.php.
访问网站时提示 The provided host name is not valid for this server.就是配置了错误的受信任主机(就是网站域名无法访问)。
配置方法步骤:
在网站目录下的 /sites/default/ 找到并修改 settings.php
先修改settings.php文件权限,因为里面最下方存放着你的数据库信息(你不想被别人黑就修改文件settings.php的只读权限)。
另外,不修改权限,windows主机无法保存为settings.php,*uix主机无法删除、修改和ftp上传和覆盖settings.php 文件。
*uix主机需从444只读权限修改为777后才能更改文件内容,更改完毕后上传到服务器网站目录后再修改回444只读权限,其它的只读权限,大家也可以偿试一下其它的只读权限如 4 44 400 404 440 我没测试。
windows主机在文件上右键 属性 修改只读前的对号。
(你不想被别人黑就修改settings.php文件的只读权限)
(1)、互联网访问时配置
第一种方法 网站只有一个域名 如 http://www.xxxxx.com
drupal 8.4.0的settings.php为第723至725行
复制此3行
* $settings['trusted_host_patterns'] = array(
* '^www\.example\.com$',
* );
粘贴到第761行
修改example为 xxxxx,删除此3行前的*,其它地方不要修改。
$settings['trusted_host_patterns'] = array(
'^www\.xxxxxx\.com$',
);
保存上传即可。刷新即可访问。
第二种方法 网站多个不同的域名 如 xxxxx.com ; http://www.xxxxx.com ; yyyyy.net ; http://www.yyyyy.net; zzzzz.org.cn; wap.zzzzz.org.cn
drupal 8.4.0的settings.php为第736至741行
复制此6行
* $settings['trusted_host_patterns'] = array(
* '^example\.com$',
* '^.+\.example\.com$',
* '^example\.org$',
* '^.+\.example\.org$',
* );
粘贴到第761行
修改为
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^.+\.xxxxx\.com$',
'^yyyyy\.net$',
'^.+\.yyyyy\.net$',
'^zzzzz\org.cn$',
'^.+\.zzzzz\org.cn$',
);
修改example为 你的域名 , .com 修改为 .net; .cn
删除行前的*,其它地方不要修改。
看到为什么没有配置www和wap了吗? 因为在此 “ .+ ”符号为通配符。可以代表所有字符,自然就无需要修改了。
第三种方法 示例:如果实在需求本网站只能特定域名才可以访问,请按以下方式修改。
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^www\.xxxxx\.com$',
'^yyyyy\.net$',
'^www\.yyyyy\.net$',
'^zzzzz\.org.cn$',
'^wap\.zzzzz\.org.cn$',
);
第四种方法。自己架设了dns解析服务器,可以使用三级域名。这样配置
一级域名 xxxxx.com; 二级域名http://www.xxxxx.com bbs.xxxxx.com;三级域名 vip.mail.xxxxx.com
一级域名 yyyyy.net.cn 二级域名 http://www.yyyyy.net.cn; bbs.yyyyy.net.cn 三级域名 vip.mail.yyyyy.net.cn
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^www\.xxxxx\.com$',
'^bbs\.xxxxx\.com$',
'^vip\.mail\.xxxxx\.com$',
'^yyyyy\.net.cn$',
'^www\.yyyyy\.net.cn$',
'^bbs\.yyyyy\.net.cn$',
'^vip\.mail\.yyyyy\.net.cn$',
);
三级域名泛解析访问时设置参考 '^.+\.yyyyy\.net$',设置 '^.+\.mail\yyyyy\.net.cn$',不要删除“ .+ ”
第五种方法 网站不使用域名而只使用ip访问。如 222.66.66.66
$settings['trusted_host_patterns'] = array(
'^222\.66\.66\.66$',
);
第六种方法 域名加IP访问 xxxxx.com; bbs.xxxxx.com; 222.66.66.66
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^+\.xxxxx\.com$',
'^222\.66\.66\.66$',
);
(2)、局域网、城域网、学校内、政府、企业内部网只有ip没有域名时的配置方法,IP配置方法等同与互联网IP配置的第五种方法,有内网域名的参考互联网配置方法。
局域网IP访问 192.168.0.100;192.168.1.100;172.0.0.100;10.0.0.100 。为什么不用“.1” 因为一般的路由器IP都是 “.1”, 如 192.168.1.1; 192.168.0.1之类,可按你服务器的固定ip配置。
$settings['trusted_host_patterns'] = array(
'^192\.168\.0\.100$',
'^192\.168\.1\.100$'
'^172\.0\.0\.100$'
'^10\.0\.0\.100$'
);
(3)、本机测试时配置方法(只有本机才能)
本地IP地址及localhost访问。 如 127.0.0.1 localhost
$settings['trusted_host_patterns'] = array(
'^127\.0\.0\.1$',
'^localhost$',
'^.+\localhost$',
);
本地测试其实你根本无需起用这项配置,又没有外人能访问过来。
特别提示:
^ 这个符号千万不要删除,删除后配置就不起作用了,
^.+ 这个“.+”符号代表通配所有字符,一经修改就无法起作用了,就只能被定义为你指定的字符,如 www wap m 等,如果实在不需要泛域名解析访问的,可以修改。
^. 这个“.”符号可以理解为代表域名后辍分隔符,.com ;.cn; .com.cn; .net.cn .org.cn
如顶级域名.com 一级域名xxxx.com 二级域名 http://www.xxxxx.com; bbs.xxxxx.com 三级域名 vip.mail.xxxxx.com
如顶级域名.net.cn 一级域名yyyyy.net.cn 二级域名 http://www.yyyyy.net.cn; bbs.yyyyy.net.cn 三级域名 vip.mail.yyyyy.net.cn
如只需要指定的二级或三级域名访问,请删除“ ^.+ ” 符号中的“ .+ ”符号,修改为“ ^www ”或“ ^bbs ”或自己定义的域名前辍。千万不要留下“ .”否则没有三级域名解析,依然无法访问。
删除* 代表配置生效,记得该删的*都要删完哦。
如修改错误访问网站时会提示 The provided host name is not valid for this server.提供的主机名对该服务器无效。请返回修改
(你不想被别人黑就保存后修改一下settings.php的文件权限)为444。
啰啰嗦嗦了一大堆,用的最多的也就是互联网的前两种和局域网IP访问的配置了,其它用的都不会多,大家根据自己实际情况配置吧。
后台提示错误 Just installed Drupal 8 and am getting a notice in my Status Report that Trusted Host Patterns has not been configured in my settings.php.
访问网站时提示 The provided host name is not valid for this server.就是配置了错误的受信任主机(就是网站域名无法访问)。
配置方法步骤:
在网站目录下的 /sites/default/ 找到并修改 settings.php
先修改settings.php文件权限,因为里面最下方存放着你的数据库信息(你不想被别人黑就修改文件settings.php的只读权限)。
另外,不修改权限,windows主机无法保存为settings.php,*uix主机无法删除、修改和ftp上传和覆盖settings.php 文件。
*uix主机需从444只读权限修改为777后才能更改文件内容,更改完毕后上传到服务器网站目录后再修改回444只读权限,其它的只读权限,大家也可以偿试一下其它的只读权限如 4 44 400 404 440 我没测试。
windows主机在文件上右键 属性 修改只读前的对号。
(你不想被别人黑就修改settings.php文件的只读权限)
(1)、互联网访问时配置
第一种方法 网站只有一个域名 如 http://www.xxxxx.com
drupal 8.4.0的settings.php为第723至725行
复制此3行
* $settings['trusted_host_patterns'] = array(
* '^www\.example\.com$',
* );
粘贴到第761行
修改example为 xxxxx,删除此3行前的*,其它地方不要修改。
$settings['trusted_host_patterns'] = array(
'^www\.xxxxxx\.com$',
);
保存上传即可。刷新即可访问。
第二种方法 网站多个不同的域名 如 xxxxx.com ; http://www.xxxxx.com ; yyyyy.net ; http://www.yyyyy.net; zzzzz.org.cn; wap.zzzzz.org.cn
drupal 8.4.0的settings.php为第736至741行
复制此6行
* $settings['trusted_host_patterns'] = array(
* '^example\.com$',
* '^.+\.example\.com$',
* '^example\.org$',
* '^.+\.example\.org$',
* );
粘贴到第761行
修改为
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^.+\.xxxxx\.com$',
'^yyyyy\.net$',
'^.+\.yyyyy\.net$',
'^zzzzz\org.cn$',
'^.+\.zzzzz\org.cn$',
);
修改example为 你的域名 , .com 修改为 .net; .cn
删除行前的*,其它地方不要修改。
看到为什么没有配置www和wap了吗? 因为在此 “ .+ ”符号为通配符。可以代表所有字符,自然就无需要修改了。
第三种方法 示例:如果实在需求本网站只能特定域名才可以访问,请按以下方式修改。
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^www\.xxxxx\.com$',
'^yyyyy\.net$',
'^www\.yyyyy\.net$',
'^zzzzz\.org.cn$',
'^wap\.zzzzz\.org.cn$',
);
第四种方法。自己架设了dns解析服务器,可以使用三级域名。这样配置
一级域名 xxxxx.com; 二级域名http://www.xxxxx.com bbs.xxxxx.com;三级域名 vip.mail.xxxxx.com
一级域名 yyyyy.net.cn 二级域名 http://www.yyyyy.net.cn; bbs.yyyyy.net.cn 三级域名 vip.mail.yyyyy.net.cn
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^www\.xxxxx\.com$',
'^bbs\.xxxxx\.com$',
'^vip\.mail\.xxxxx\.com$',
'^yyyyy\.net.cn$',
'^www\.yyyyy\.net.cn$',
'^bbs\.yyyyy\.net.cn$',
'^vip\.mail\.yyyyy\.net.cn$',
);
三级域名泛解析访问时设置参考 '^.+\.yyyyy\.net$',设置 '^.+\.mail\yyyyy\.net.cn$',不要删除“ .+ ”
第五种方法 网站不使用域名而只使用ip访问。如 222.66.66.66
$settings['trusted_host_patterns'] = array(
'^222\.66\.66\.66$',
);
第六种方法 域名加IP访问 xxxxx.com; bbs.xxxxx.com; 222.66.66.66
$settings['trusted_host_patterns'] = array(
'^xxxxx\.com$',
'^+\.xxxxx\.com$',
'^222\.66\.66\.66$',
);
(2)、局域网、城域网、学校内、政府、企业内部网只有ip没有域名时的配置方法,IP配置方法等同与互联网IP配置的第五种方法,有内网域名的参考互联网配置方法。
局域网IP访问 192.168.0.100;192.168.1.100;172.0.0.100;10.0.0.100 。为什么不用“.1” 因为一般的路由器IP都是 “.1”, 如 192.168.1.1; 192.168.0.1之类,可按你服务器的固定ip配置。
$settings['trusted_host_patterns'] = array(
'^192\.168\.0\.100$',
'^192\.168\.1\.100$'
'^172\.0\.0\.100$'
'^10\.0\.0\.100$'
);
(3)、本机测试时配置方法(只有本机才能)
本地IP地址及localhost访问。 如 127.0.0.1 localhost
$settings['trusted_host_patterns'] = array(
'^127\.0\.0\.1$',
'^localhost$',
'^.+\localhost$',
);
本地测试其实你根本无需起用这项配置,又没有外人能访问过来。
特别提示:
^ 这个符号千万不要删除,删除后配置就不起作用了,
^.+ 这个“.+”符号代表通配所有字符,一经修改就无法起作用了,就只能被定义为你指定的字符,如 www wap m 等,如果实在不需要泛域名解析访问的,可以修改。
^. 这个“.”符号可以理解为代表域名后辍分隔符,.com ;.cn; .com.cn; .net.cn .org.cn
如顶级域名.com 一级域名xxxx.com 二级域名 http://www.xxxxx.com; bbs.xxxxx.com 三级域名 vip.mail.xxxxx.com
如顶级域名.net.cn 一级域名yyyyy.net.cn 二级域名 http://www.yyyyy.net.cn; bbs.yyyyy.net.cn 三级域名 vip.mail.yyyyy.net.cn
如只需要指定的二级或三级域名访问,请删除“ ^.+ ” 符号中的“ .+ ”符号,修改为“ ^www ”或“ ^bbs ”或自己定义的域名前辍。千万不要留下“ .”否则没有三级域名解析,依然无法访问。
删除* 代表配置生效,记得该删的*都要删完哦。
如修改错误访问网站时会提示 The provided host name is not valid for this server.提供的主机名对该服务器无效。请返回修改
(你不想被别人黑就保存后修改一下settings.php的文件权限)为444。
啰啰嗦嗦了一大堆,用的最多的也就是互联网的前两种和局域网IP访问的配置了,其它用的都不会多,大家根据自己实际情况配置吧。