Я включаю следующий код в основную точку входа моих библиотек (main.php):
/**
* Build current url, depending on protocal (http/https),
* port, server name and path suffix
*/
$site_root = 'http';
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on")
$site_root .= "s";
$site_root .= "://" . $_SERVER["SERVER_NAME"];
if ($_SERVER["SERVER_PORT"] != "80")
$site_root .= ":" . $_SERVER["SERVER_PORT"];
$site_root .= $g_config["paths"]["site_suffix"];
$g_config["paths"]["site_root"] = $site_root;
$ g_config - это глобальный массив, содержащий параметры конфигурации. Поэтому site_suffix может выглядеть следующим образом: "/ sites_working / thesite / public_html" в вашем окне разработки и просто "/" на сервере с виртуальным хостом (именем домена).
Этот метод также хорош, потому что, если кто-то вводит IP-адрес вашего окна разработки, он будет использовать тот же IP-адрес для создания пути к папке javascript вместо чего-то вроде «localhost», и если вы используете « localhost "будет использовать localhost" для создания URL.
И поскольку он также обнаруживает SSL, вам не нужно беспокоиться о том, будут ли отправляться ваши ресурсы по HTTP или HTTPS, если вы когда-нибудь добавите поддержку SSL на свой сервер.
Затем в вашем шаблоне либо используйте
<link id="site_root" href="<?php echo $g_config["paths"]["site_root"] ?>"/>
Или
<script type = "text/javascript">
var SiteRoot = "<?php echo $g_config["paths"]["site_root"]; ?>";
</script>
Полагаю, последний будет быстрее.