現在のURLを取得する次のPHP関数があります。
function getCurrentUrl() {
$isHTTPS = ( isset($_SERVER["HTTPS"] ) && $_SERVER["HTTPS"] == "on" );
$port = ( isset($_SERVER["SERVER_PORT"] ) && (( !$isHTTPS && $_SERVER["SERVER_PORT"] != "80" ) || ( $isHTTPS && $_SERVER["SERVER_PORT"] != "443" )));
$port = ($port) ? ':'.$_SERVER["SERVER_PORT"] : '';
$url = ( $isHTTPS ? 'https://' : 'http://').$_SERVER["SERVER_NAME"].$port.$_SERVER["REQUEST_URI"];
return $url;
}
次に、次のコードがあります。
<ul>
<li id="face"><a href="https://www.facebook.com/sharer.php?u=<?php echo getCurrentUrl(); ?>&t=<?php echo $title; ?>" class="popup" title="Facebook">Share</a></li>
<li id="tweet"><a href="http://twitter.com/home?status=<?php echo getCurrentUrl(); ?>" class="popup" title="Tweeter">Tweet</a></li>
</ul>
<?php echo getCurrentUrl(); ?>
適切な結果でURLをエコーすると、次のようになります。http://mydomain.com/index.php?menu=13&page=7
しかし、現在のURLをFacebookまたはTwitterに共有しようとすると、page
が切断されるため、共有URLは常に次のようになります。http://mydomain.com/index.php?menu=13
この問題にどのように対処できますか?