我正在为我的主服务器编写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"; ?>"