我正在为我的主服务器编写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链接?我怎么能通过这个?
答案 0 :(得分:1)
<a href="<?php $baseurl . ":5000"; ?>"
应该是
<a href="<?php echo $baseurl . ":5000"; ?>"