在我的网站(thirdsidethreads.com)上我想在索引页面上显示“欢迎”消息,但是当人们使用URL中的某些参数访问索引页面时,我不希望它显示。如果URL是普通的并且仅包括域,则表示它作为主页运行。如果URL中还有其他字符,则表示访问者正在尝试使用该页面查看特定内容并且不是主页。
换句话说,我想要这个:
如果网址中没有域名,则显示消息。
如果网址如下所示,请勿显示:http://www.thirdsidethreads.com/#!1007747370?q=I1007747370
如果有人能为我提供解决方案,我会很感激。我觉得我已经尝试了一切。
答案 0 :(得分:0)
您应该从parse_url()
开始,并传入您网页的当前网址。
你会对输出的三个部分感兴趣; path
,query
和fragment
。如果您的网址为example.com/
,则路径可以为斜线,因此请忽略它并执行以下操作:
$showMessage = ((empty($bits['path']) || $bits['path'] === '/') && empty($bits['query']) && empty($bits['fragment']));
我添加了an example here一些断言。随意扩展测试,看看它是否真的适合您的用例。
要专门定位URL的片段,可以使用PHP_URL_FRAGMENT
常量作为参数:
$fragment = parse_url($url, PHP_URL_FRAGMENT); // !1007747370?q=I1007747370 in your example
答案 1 :(得分:0)
由于似乎无法使用PHP检索我的URL的哈希标记部分,所以我选择使用JavaScript解决方案。它工作正常。
<script>
function message() {
if (window.location.hash=="") {
document.getElementById('welcome').style.display="block";
} else {
document.getElementById('welcome').style.display="none";
}
}
window.onload=message;
</script>