我使用以下PHP代码返回脚本的实际URL:
// Returns actual URL with HTTP/HTTPS checking
$URL = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
<link rel="stylesheet" href="<?php echo $URL ?>/css/bootstrap.min.css">
结果是:
http://127.0.0.1:8001/src/css/bootstrap.min.css
但是,如果我在网址中使用urlencode
代码,结果就是:
http://127.0.0.1:8001/src/?keyword=all&page=0/css/bootstrap.min.css
如何删除此内容而不在其中一些源文件中包含urlencode
?
编辑:
这是有效的,但我试图远离这种硬编码的解决方案:
$URL = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "127.0.0.1:{$_SERVER['SERVER_PORT']}/src"
答案 0 :(得分:0)
使用此代码:
// Returns actual URL with HTTP/HTTPS checking
$URL = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
$URL = parse_url($URL, PHP_URL_PATH);
<link rel="stylesheet" href="<?php echo $URL ?>/css/bootstrap.min.css">
答案 1 :(得分:0)
使用PHP_SELF而不是REQUEST_URI
// Returns actual URL with HTTP/HTTPS checking
$URL = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['PHP_SELF']}"