我使用此代码获取完整的URL:
$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
Run Code Online (Sandbox Code Playgroud)
问题是我在我.htaccess身上使用了一些掩码,所以我们在URL中看到的并不总是文件的真实路径.
我需要的是获取URL,URL中写的内容,仅此而已 - 完整的URL.
我需要了解它在Web浏览器的导航栏中的显示方式,而不是服务器上文件的真实路径.
你什么时候考虑使用一个而不是另一个?为什么?
我在网上看过很多教程,说你需要检查$_SERVER['HTTPS']服务器连接是否用HTTPS保护.我的问题是,在我使用的某些服务器上,$_SERVER['HTTPS']是一个未定义的变量导致错误.是否有另一个我可以检查的变量应该始终定义?
为了清楚起见,我目前正在使用此代码来解决它是否是HTTPS连接:
if(isset($_SERVER['HTTPS'])) {
if ($_SERVER['HTTPS'] == "on") {
$secure_connection = true;
}
}
Run Code Online (Sandbox Code Playgroud) function url(){
if(isset($_SERVER['HTTPS'])){
$protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http";
}
else{
$protocol = 'http';
}
return $protocol . "://" . $_SERVER['HTTP_HOST'];
}
Run Code Online (Sandbox Code Playgroud)
例如,使用上面的函数,如果我使用相同的目录,它工作正常,但如果我创建一个子目录,并在其中工作,它也将给我子目录的位置,例如.我只是想要,example.com但它给了我,example.com/sub如果我在文件夹中工作sub.如果我正在使用主目录,该功能正常.有替代品$_SERVER['HTTP_HOST']吗?
或者我怎么能修复我的功能/代码才能获得主网址?谢谢.
请知道我对此有一点了解,我想将url全部插入单引号中.我尝试过使用单个和双个wuotes,但没有工作.我查看了这个问题 - 在url链接中转义单引号,但没有帮助
<?php
echo '\'' base_url().'\'index.php?admin/product/delete/1\'';
echo '\''; echo base_url().index.php?admin/product/delete/1\'';
echo '\'. base_url().index.php?admin/product/delete/1\'';
echo "\'"; echo base_url().'index.php?admin/product/delete/1\'";
?>
Run Code Online (Sandbox Code Playgroud)
我试图实现这个目标:' http://localhost/my_site/index.php?admin/product/delete/1 '
单引号中的网址