简体   繁体   中英

Determine Logo link based on URL using PHP

Situation is getting a logo on:

domain.com/special_dir/any_page

or

domain.com/special_dir/any_dir/

to use a link to [domain.com/special_dir/].

Everywhere else on [domain.com/] the logo must a link to [domain.com/]

This is what I have so far.

<?php
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if( $host == 'domain.com/special_dir/' ) {
    echo '<div"><a href="//domain.com/special_dir/"><img src="..."></a></div>';
  } else {
    echo '<div"><a href="//domain.com/"><img src="..."></a></div>';
}
?>

The logo for [domain.com/special_dir/] only works for [domain.com/special_dir/] URL, no others. I suppose the code it doing what it should, I just don't know how to make it recursive. I did search and read a lot of similar situations but none based on PHP code worked for me.

It is WordPress Multi-site setup and the "special_dir" is a regular sub-directory.

How to correct?

Thanks

Your if ($host == 'domain.com/special_dir/') statement means the special link will be printed for domain.com/special_dir/ only. It excludes everything else, including comain.com/special_dir/any_dir and domain.com/special_dir/any_page .

If think you want ...

if (substr($host,0,22) == 'domain.com/special_dir/') { ... }

This did the trick.

<?php
$url = $_SERVER["REQUEST_URI"];
if (strpos($url, "/special_dir/") === 0) {
    echo '<div"><a href="//domain.com/special_dir/"><img src="..."></a></div>';
  } else {
    echo '<div"><a href="//domain.com/"><img src="..."></a></div>';
}
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM