我正在尝试在 PHP 中编写一个正则表达式,它将在所有指定的位置或除指定位置之外的每个位置加载内容。
#load content everywhere EXCEPT locations expressed
<?php if (preg_match('/\/(contact\/|news\/|index\.html)/', $_SERVER['REQUEST_URI']) === 0): ?>
<div class="greeting">Bonjour</div>
<?php endif; ?>
#load content on locations expressed
<?php if (preg_match('/\/(contact\/|news\/|index\.html)/', $_SERVER['REQUEST_URI']) === 1): ?>
<div class="greeting">Konichiwa</div>
<?php endif; ?>
我遇到的问题是我无法让我的网站的根目录/index.html
(特别是http://example.com/index.html/contact/
,没有其他地方)与or中任何页面的通配符一起工作/news/
。
再次总结一下:(
/contact/*
任何联系页面),/news/*
(/news/ 中的任何页面),/index.html
(网站根目录)
我尝试了几种在 index.html 之前添加斜线的不同方法,但它要么不起作用,要么返回 PHP 错误。