如何根据用户的IP地址动态转发URL


How to dynamicly forward URLs based on the users IP address

我正在为我的主服务器编写PHP脚本。有时我访问家庭网络中的家庭服务器网页(从IP 192.168.192.*),有时从外部访问(公共IP地址)。我已经为此创建了以下脚本:

<?php
    $baseurl = $_SERVER['REMOTE_ADDR'];
        if (preg_match("/192.168.192.*/",$baseurl)) {
            $baseurl = "http://192.168.192.100";
            }
        else {
            $baseurl = "http://homeserverwebsite.com";
            }
?>

当我在网页上的某个地方使用<?php echo $baseurl; ?>时,它会起作用!它从外部回复http://homeserverwebsite.com(地址到我的主服务器),并从我的内部网络http://192.168.192.100(这是我的主主机IP)回复。

然而,存在一个问题。为了建立我的链接,我使用了愚蠢的代码:

<a href="<?php $baseurl . ":5000"; ?>" target="_blank">Link to website 1</a>
<a href="<?php $baseurl . ":5001"; ?>" target="_blank">Link to website 2</a>

当我在内部点击它时,它会把我发送到http://192.168.192.100,我希望它把我发送给http://192.168.192.100:5000

当我在网页上的某个地方使用<?php echo $baseurl . "5000"; ?>时,它运行良好,它会输出http://192.168.192.100:5000,但当我在标签中使用它时,它不会输出。这怎么可能?:(如果它们是由PHP生成的,那么似乎不想要一个包含URL:PORT链接的URL?我如何才能通过它?

<a href="<?php $baseurl . ":5000"; ?>"

应该是

<a href="<?php echo $baseurl . ":5000"; ?>"