Bizon4ik
16.08.2013 - 01:52
Доброе время суток.
У меня в хедере есть кнопка HOME ссылкой "index.php". Вторая кнопка введет на страницу которая находится по следующему пути "pages/blabla.php".
Проблема в том что если зайти на страницу "pages/blabla.php" и с нее нажать кнопку HOME, браузер пытается найти страницу "index.php" в папке pages.
Внимание вопрос
: как нужно указать адрес для кнопки HOME что бы ссылка всегда вела на index.php который лежит в корневой директории.
можно сделать следующим образом: взять uri страницы из переменной
$_SERVER['REQUEST_URI']
, разбить строку в массив
$arr = explode('/', $_SERVER['REQUEST_URI'])
и первый элемент массива будет корень вашей дирректории, остаётся запихнуть всё в ссылку
<a href = '<?=$arr[0] ?>/index.php'>home</a>
и ваша ссылка всегда будет вести в корень дирректории независимо от того сколько у вас вложенных папок
или же просто сделать ссылку такой:
<a href = '../index.php'>home</a>
это если у вас одна поддиректория, если больше, то просто побольше двоеточий со слешами поставить и ссылка всё время в корень будет вести
bestxp
16.08.2013 - 08:29
лучше всего ссылку делать на / для главной
Игорь_Vasinsky
16.08.2013 - 08:42
чем лучше?
_____________
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
16.08.2013 - 09:02
Цитата (Игорь_Vasinsky @ 16.08.2013 - 08:42) |
чем лучше? |
1ое, всегда сможешь заменить через htaccess файл главнной
2ое СЕО не будет дубликатов гланой, что скажется положительно
3е, в идеале конечно абсолютные пути указывать, тогда меньше подобных проблем)
но тут сугубо имхо
Bizon4ik
16.08.2013 - 11:03
Все спасибо за ответы.
Я наверное воспользуюсьвыриантом от Serdg с вычленением адреса из $_SERVER['REQUEST_URI'], он мне кажется наиболее уневерсальным, да и вариант с ../index.php мне не подойдет, так как хедер формируется из класса и адрес ссылки всегда один и тотже в независимости от того когдевая ли это дериктория или нет.
Цитата (Bizon4ik @ 16.08.2013 - 07:03) |
Я наверное воспользуюсьвыриантом от Serdg с вычленением адреса из $_SERVER['REQUEST_URI'] |
Плохая идея.
1. Если адрес набран руками (скопирован) в чистое окнео, нечего будет вычленять.
2. Если переход по ссылке с чужого сайта, тоже самое.
3. Ссылки с файлом на конце нынче не в моде.
Напротив, совет
bestxp более чем разумен. Это лишнее и совершенно ненужное телодвижение, браузер сам разберется, где корень. Только обратите внимание, точек никаких не нужно
<a href = '/'>home</a>
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
HErATuB
16.08.2013 - 13:23
Тоже в ссылках использую обратный слэш.
<a href = '/'>home</a>