使用单个域作为引用域代码工作正常
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~site1\\.com$~', parse_url($referrer, PHP_URL_HOST)))
但当我添加更多网站作为引用域时什么也没有发生只有空白页
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~site1\\.com$~'| '~site2\\.com$~' | '~site3\\.com$~', parse_url($referrer, PHP_URL_HOST)))
我如何添加更多网站作为引用域
答案1
我会在一个且仅一个正则表达式中使用 | 运算符(我不确定 php 中是否允许使用管道的多个正则表达式):
<?php $referrer = $_SERVER['HTTP_REFERER']; if (preg_match('~(site1\.com|site2\.com|site3\.com)$~', parse_url($referrer, PHP_URL_HOST)))
另外,我不明白为什么要转义两次点字符。