2015-09-23 2 views
0

Я использую xampp на своем локальном компьютере, и я работаю над разными проектами. Обычно я использую включенные верхние меню на веб-сайтах.Настройка ссылок в включенном верхнем меню (HTML)

Каталог Пример:

C:\xampp\htdocs\site1

C:\xampp\htdocs\site2

В включаемого верхнем меню я даю ссылки, как

<a href="/site1/page1">Link</a> 
<a href="/site1/page2">Link</a> 
.... 
<a href="/site1/page7">Link</a> 

Но когда я загрузить сайт на удаленном сервере, это ссылки не работает. Потому что корневая папка не htdocs. Корневая папка site1 или site2 любой ..

В то время как я работаю на site1, на мой местный, я должен установить свой корневой каталог по умолчанию для «site1» и я даю ссылки, как

<a href="/page1">Link</a> 
<a href="/page1">Link</a> 

и он работает для обоих (локально-удаленных)

Вопрос: Как я могу предоставить ссылки в включенном верхнем меню без изменения локального корневого каталога. Я пробовал как ../page1. Для основных страниц он работал, но для дополнительных страниц не работает ..

+1

если вы начнете свою ссылку с/it, перейдите в корневой каталог и продолжайте оттуда. Чтобы получить путь из вашего активного каталога, поместите ./ в. В вашем примере Link KeepAlive

+0

Я не писал в примере, но у меня есть каталоги. С ./directory это работает. Когда я нажимаю эту ссылку, вся ссылка становится localhost/site1/directory/directory ....... –

+0

, тогда вы можете посмотреть на $ _SERVER ['PHP_SELF'], чтобы получить базовый путь вашего php-файла и, возможно, перейти обратно в код (анализ вывода переменной) http: // stackoverflow.com/questions/3602323/try-to-get-a-full-url-without-filename-in-php Эта ссылка также может помочь вам – KeepAlive

ответ

0

Создайте файл config.php файл. На удаленных сайтах это будет просто держать:

$path='/'; 

Положите его в том же каталоге, что и файл меню, в файле меню включают config.php:

<?php require_once('config.php'); ?> 

и определить связи, как это:

<a href="<?= $path ?>page1">Link1</a> 
<a href="<?= $path ?>page2">Link2</a> 

на локальном компьютере, редактировать конфигурационный файл в зависимости от сайта, который вы работаете:

$path='/site1/'; 
+0

Хорошая идея. Он работает .. Большое спасибо .. –

+0

Для людей, которые имеют ту же проблему: если вы назовете файл как «config.php», это не сработает. Я не мог понять причину. Я изменил имя как «path.php», это сработало для меня. –

0

использование

<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/page1"> Link</a> 

Или Создать config.php и определить путь, как

$localhost = true // change this to false when you upload to server 
if($localhost) { 
    $root_path = 'http://localhost/site1/'; 
} else { 
    $root_path = 'http://'.$_SERVER['SERVER_NAME'].'/'; 
} 
define('ROOT_PATH', $root_path); 

И включить этот конфиг. php во всех ваших файлах, где вам необходимо определить путь

<?php 
include_once(dirname(__FILE__)."/config.php"); 
?> 
<a href="<?php echo ROOT_PATH;?>/page1">Link</a> 
+0

это дало ссылку как файл: /// C:/xampp/htdocs/admin –

+0

проверить измененный код –

+0

Я не могу понять. Я пишу echo ' «Ссылка« localhost/site1/admin/localhost/admin » –