Как я могу получить абсолютные URL для локальной работы?

Все работает так, как я хочу на моем живом сайте, но потому что я использую абсолютные URL в моем header.php а также footer.php они не работают, когда я работаю локально (XAMPP) — я не могу понять, как заставить это работать на обоих.

header.php

<div id="top"><center><img src="http://cosworth-europe.com/images/header.png" style="max-width:100%;"></center></div>
<header id="header" class="site-header" role="banner">
<div id="header-inner" class="container sixteen columns over">
<hgroup class="one-third column alpha">

</hgroup>
<nav id="main-nav" class="two thirds column omega">
<ul>
<li>
<a href="http://www.cosworth-europe.co.uk/index.php">Home</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/about-us.php">About Us</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/news.php">News</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/dealers.php">Dealers</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/products.php">Products</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/shop">Buy Online</a>
</li>
<li>
<a href="http://www.cosworth-europe.co.uk/contactus.php">Contact</a>
</li>
</ul>
</nav>

</div>
</header>

Код для захвата header.php

<?php include($_SERVER['DOCUMENT_ROOT']."/header.php"); ?>

Структура папки FTP
** Структура папки FTP **

0

Решение

Вы должны использовать относительные URL, рекомендуется для переносимости.

</hgroup>
<nav id="main-nav" class="two thirds column omega">
<ul>
<li>
<a href="/index.php">Home</a>
</li>
<li>
<a href="/about-us.php">About Us</a>
</li>
<li>
<a href="/news.php">News</a>
</li>
<li>
<a href="/dealers.php">Dealers</a>
</li>
<li>
<a href="/products.php">Products</a>
</li>
<li>
<a href="/shop">Buy Online</a>
</li>
<li>
<a href="/contactus.php">Contact</a>
</li>
</ul>
</nav>

</div>
</header>
1

Другие решения

Всегда используйте относительные URL, по крайней мере, для домена.

<link rel="stylesheet" href="/css/style.css" />

Если вы действительно хотите использовать абсолютные URL, установите переменную как $homeroot и используйте это так:

<link rel="stylesheet" href="<?php echo $homeroot; ?>/css/style.css" />

И вы можете объявить это так:

$homeroot = "http://my.example.com";

Если вы все еще хотите, чтобы это было лучше, вы можете использовать этот способ:

$homeroot = $_SERVER["HTTP_HOST"];
1

Вы можете сделать две вещи.

Первый —

<a href="/index.php">Home</a> // The relative urls

Второе —

Определите переменную с именем хоста —

$host = ($_SERVER['HTTP_HOST'] === 'www.cosworth-europe.co.uk') ? 'http://www.cosworth-europe.co.uk' : 'http://localhost';

А также

<a href="<?php echo $host;?>/index.php">Home</a>
1

Вы не должны использовать абсолютные URL-адреса, если вам иногда придется что-то изменить, у вас будет большой беспорядок.

Вы должны использовать либо функцию, либо относительные URL.

Пример функции:

function getURL() {
//get THIS ($develop) value from a config file
$develop = true;

return ( $develop ) ? "localhost" : "http://".$_SERVER["HTTP_HOST"];
}

то есть

<a href="<?php echo getURL(); ?>/index.php">Home</a>

QuickHelp:
Просто отредактируйте файл hosts следующим образом:

127.0.0.1   www.cosworth-europe.co.uk

Относительные URL-адреса (в этом примере — относительно корня документа)

<ul>
<li>
<a href="/index.php">Home</a>
</li>
<li>
<a href="/about-us.php">About Us</a>
</li>
<li>
<a href="/news.php">News</a>
</li>
</ul>
1

Если вы хотите, чтобы это работало без редактирования исходного файла:

На самом деле, вы не должны были делать с абсолютными URL, но все же вы можете заставить его работать локально, вам нужно внести небольшие изменения в hosts файл. Я не знаю, в какой ОС вы сейчас находитесь, так что вы можете редактировать хосты следующим образом:

Ubuntu:

В своем терминале введите

sudo gedit /etc/hosts

Вам необходимо будет ввести свой пароль.
В открывшемся файле добавьте эту строку в конец:

127.0.0.1   www.cosworth-europe.co.uk

Окна:

c:\windows\system32\drivers\etc\hosts

Откройте это в блокноте с правами администратора и добавьте вышеуказанные строки. Теперь местный работает аналогично вашему живому сайту.

[Но обязательно удалите эти строки, если вы хотите получить доступ к живому веб-сайту (www.cosworth-europe.co.uk)]

Смотрите это для изобразительный представление. В этом методе вам не нужно менять свои файлы на данный момент. Но настоятельно рекомендуется использовать относительные URL для отличной переносимости!

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector