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

时间:2013-11-24 00:52:34

标签: php dynamic forward

我正在为我的主服务器编写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(adres到我的主页服务器)和我的内部网络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但不会在标记中使用它时输出{{1}}。这怎么可能? :(似乎不想要一个带URL的URL:如果它们是由PHP生成的PORT链接?我怎么能通过这个?

1 个答案:

答案 0 :(得分:1)

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

应该是

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