[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как правильно указывать ссылки
Bizon4ik
Доброе время суток.

У меня в хедере есть кнопка HOME ссылкой "index.php". Вторая кнопка введет на страницу которая находится по следующему пути "pages/blabla.php".

Проблема в том что если зайти на страницу "pages/blabla.php" и с нее нажать кнопку HOME, браузер пытается найти страницу "index.php" в папке pages.

Внимание вопрос smile.gif : как нужно указать адрес для кнопки HOME что бы ссылка всегда вела на index.php который лежит в корневой директории.
Serdg
можно сделать следующим образом: взять uri страницы из переменной
$_SERVER['REQUEST_URI']
, разбить строку в массив
$arr = explode('/', $_SERVER['REQUEST_URI'])
и первый элемент массива будет корень вашей дирректории, остаётся запихнуть всё в ссылку
<a href = '<?=$arr[0] ?>/index.php'>home</a>
и ваша ссылка всегда будет вести в корень дирректории независимо от того сколько у вас вложенных папок

или же просто сделать ссылку такой:
<a href = '../index.php'>home</a>
это если у вас одна поддиректория, если больше, то просто побольше двоеточий со слешами поставить и ссылка всё время в корень будет вести
bestxp
лучше всего ссылку делать на / для главной
Игорь_Vasinsky
чем лучше?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bestxp
Цитата (Игорь_Vasinsky @ 16.08.2013 - 08:42)
чем лучше?

1ое, всегда сможешь заменить через htaccess файл главнной
2ое СЕО не будет дубликатов гланой, что скажется положительно
3е, в идеале конечно абсолютные пути указывать, тогда меньше подобных проблем)

но тут сугубо имхо
Bizon4ik
Все спасибо за ответы.

Я наверное воспользуюсьвыриантом от Serdg с вычленением адреса из $_SERVER['REQUEST_URI'], он мне кажется наиболее уневерсальным, да и вариант с ../index.php мне не подойдет, так как хедер формируется из класса и адрес ссылки всегда один и тотже в независимости от того когдевая ли это дериктория или нет.
twin
Цитата (Bizon4ik @ 16.08.2013 - 07:03)
Я наверное воспользуюсьвыриантом от Serdg с вычленением адреса из $_SERVER['REQUEST_URI']

Плохая идея.

1. Если адрес набран руками (скопирован) в чистое окнео, нечего будет вычленять.
2. Если переход по ссылке с чужого сайта, тоже самое.
3. Ссылки с файлом на конце нынче не в моде.


Напротив, совет bestxp более чем разумен. Это лишнее и совершенно ненужное телодвижение, браузер сам разберется, где корень. Только обратите внимание, точек никаких не нужно
<a href = '/'>home</a>


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
HErATuB
Тоже в ссылках использую обратный слэш.
<a href = '/'>home</a>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.