Semreg Posted October 21, 2009 Report Share Posted October 21, 2009 Работаю над структурой для сайта.Я знаю, что можно приинклудить страницу вот таким образом если переменная "page" в урл содержит какое то значение:$my = $_GETinclude("$my");;Встретил в нете вот такой урл, который ведет на определенную страницу: http://site.ru/?newsКак приинклудить страницу, которая указывается в урл таким образом?Ищу в рунете ответ на свой вопрос, но пока так и не нашел ) Quote Link to comment Share on other sites More sharing options...
0 AMD Posted October 21, 2009 Report Share Posted October 21, 2009 может это мод реврите? Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 может это мод реврите?Вполне может быть.Это тот, который в .htaccess прописывается? Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 (edited) Дык мод реврайт вроде преобразовывает в данном случае ссылки в чпу и при чем тут он?Тут ведь еще работа с бд будет походу.Тут надо что-то типа:<?php if (isset($_GET['page'])){$page = $_GET['page'];if ($page == 'test'){include("page.php");}}?>Не знаю, может я и ошибаюсь... Edited October 21, 2009 by rus Quote Link to comment Share on other sites More sharing options...
0 AMD Posted October 21, 2009 Report Share Posted October 21, 2009 (edited) угу, с ним хоть что сделать можно.Рус а что ты предлогаешь?)Может его и нет, парсится все с помощью пхп, но мне это не понять, это же столько условий прописывтаь нужно. Edited October 21, 2009 by AMD Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 угу, с ним хоть что сделать можно.Рус а что ты предлогаешь?)Может его и нет, парсится все с помощью пхп, но мне это не понять, это же столько условий прописывтаь нужно.Да, если страниц много, то конеш подход другой будет. Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 rus, ну прописывать в таком количестве ифы не вариант )У меня там штук 100 страниц. Я их обалдею все прописывать...Дык говорите копать в сторону мод-реврайта? Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 rus, ну прописывать в таком количестве ифы не вариант )У меня там штук 100 страниц. Я их обалдею все прописывать...Дык говорите копать в сторону мод-реврайта?У тебя из бд вытягиваются страницы? Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 У тебя из бд вытягиваются страницы?Я пока только стал разбираться со структурой сайта.В настоящий момент в бд у меня никаких урлов не прописано.Я думал сделать индех.хтмл единой точкой входа. Оставить в нем шапку, подвал, все остальные блоки.А контент каждой страницы инклудить внутрь этого индекса.хтмлНо урл типа: http://site.ru/?newsмне поредставляется более привлекательным для большинства страниц, чем: http://site.ru/?page=news Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 Тогда AMD прав, это только через htaccess мод реврайт чпу Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 Понял. Попробую покопать в сторону мод-реврайта. Quote Link to comment Share on other sites More sharing options...
0 Searcher Posted October 21, 2009 Report Share Posted October 21, 2009 (edited) там просто страница с именем index..., а при отсутствии имени файла в url сервером используется первый найденный файл index. Edited October 21, 2009 by Searcher Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 там просто страница с именем index..., а при отсутствии имени файла в url сервером используется первый найденный файл indexВы про что имеете ввиду? Не понял?Вот пример такой страницы, о которой я говорил выше: http://la2.theabyss.ru/?news Quote Link to comment Share on other sites More sharing options...
0 Searcher Posted October 21, 2009 Report Share Posted October 21, 2009 (edited) Вы про что имеете ввиду? Не понял?Вот пример такой страницы, о которой я говорил выше: http://la2.theabyss.ru/?newsну и это равнозначно http://la2.theabyss.ru/index.php?newsв место пропущенного имени файла вставляется первый найденный индексный файл. это стандартная функция сервера, тут модреврайт не при чем.а в этой записи http://la2.theabyss.ru/index.php?news слово news означает, что определена переменная news в массиве $_GET[]. т.е. условие if (!isset($_GET["news"])) в этой ситуации будет давать истину, а если будет например http://la2.theabyss.ru/index.php?news1, то if (!isset($_GET["news"])) будет давать ложь. Edited October 21, 2009 by Searcher Quote Link to comment Share on other sites More sharing options...
0 AMD Posted October 21, 2009 Report Share Posted October 21, 2009 Что и писали выше rus.Будешь 100 условий лепить в индекс? Quote Link to comment Share on other sites More sharing options...
0 Searcher Posted October 21, 2009 Report Share Posted October 21, 2009 Semreg наверно думал, что news - это значение переменной... ну можно и имена индексов массива считывать, чтобы не ставить кучу условий... Quote Link to comment Share on other sites More sharing options...
0 Veseloff Posted October 21, 2009 Report Share Posted October 21, 2009 Короче какой-то такой костыль можно залепитьforeach($_GET as $key=>$value){ include($key.".php"); break;}Можно, наверно, как-то по-нормальному получить ключ первого элемента, но мне лень думать. Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 Searcher, да понятно, что страница через индексный файл обрабатывается ну и это равнозначно http://la2.theabyss.ru/index.php?newsДык вполне может быть, что ссылка фактически имеет вид: http://la2.theabyss.ru/index.php?page=news, а урл обработан через мод-реврайт.Я сейчас в нете читаю про мод-реврайт. Он именно такими штуками и занимается.Нужно только в синтаксисе его разобраться. Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 (edited) Нашел как эта лабуда делается: http://mysitez.km.ua/Programming/?withoutmodrewriteИзвлекает значение из глобального массива $_SERVERНаписано, якобы метод хуже, чем ЧПУ через mod_rewrite.Searcher, а ты грил:if (!isset($_GET["news"]))Кстати mod_rewrite категорически отказывается вставлять знаки вопроса в урл.У меня так и не получилось добиться того, чтобы при включенном мод-реврайте можно было в урл знак вопроса вставить...Давайте дискутировать и спорить какие урлы лучше? Кому какие урлы больше нравятся? 1) ничего не делаем:http://site.ru/?razdel=kadabra&page=news&date=211020092) обрабатываем глобальныйй массив $_SERVER:http://site.ru/?kadabra&page=news&date=211020093) обрабатываем через mod_rewrite:http://site.ru/kadabra/news/21102009Мне почемуто больше всего 2й вариант нравиться... Edited October 21, 2009 by Semreg Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 Мне почемуто больше всего 2й вариант нравиться...Со вторым вариантом больше возможности поломать вам базу, если нет никаких защит при соединении с ней, типа real_escape. А третий - самое то. Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 21, 2009 Author Report Share Posted October 21, 2009 Со вторым вариантом больше возможности поломать вам базу, если нет никаких защит при соединении с ней, типа real_escape. smile.gifА третий - самое то.Почему? Потому что имена переменных не видны юзверям и хакерам? Quote Link to comment Share on other sites More sharing options...
0 rus Posted October 21, 2009 Report Share Posted October 21, 2009 Почему? Потому что имена переменных не видны юзверям и хакерам?Канэш Quote Link to comment Share on other sites More sharing options...
0 gesandte Posted October 21, 2009 Report Share Posted October 21, 2009 да и выглядит симпатичнее Quote Link to comment Share on other sites More sharing options...
0 Searcher Posted October 22, 2009 Report Share Posted October 22, 2009 Нашел как эта лабуда делается: http://mysitez.km.ua/Programming/?withoutmodrewriteИзвлекает значение из глобального массива $_SERVERНаписано, якобы метод хуже, чем ЧПУ через mod_rewrite.Searcher, а ты грил:Кстати mod_rewrite категорически отказывается вставлять знаки вопроса в урл.У меня так и не получилось добиться того, чтобы при включенном мод-реврайте можно было в урл знак вопроса вставить...Давайте дискутировать и спорить какие урлы лучше? Кому какие урлы больше нравятся? Мне почемуто больше всего 2й вариант нравиться...ну php вообще богат на различные методы реализации одной задачи А вид url меня обычно мало волнует поскольку большинство пользователей на url почти не обращают внимания, а если и обращают, то только на первую часть. Все, что после 3-го / для них уже малопонятная и чисто техническая информация. Сейчас огромное количество инструментов, которые позволяют быстро найти ранее где-то виденную инфу. Ну это чисто мое мнение, основанное на собственных наблюдениях... Quote Link to comment Share on other sites More sharing options...
0 Semreg Posted October 22, 2009 Author Report Share Posted October 22, 2009 Решил замарочиться с ЧПУ. Возникли некоторые вопросы.Структура сайта у меня вырисовывается такая:index.php - в корне,10 папок - соответсвующих разделам сайта.В каждой из этих папок лежат *.php файлы с контентом страниц, которые инклудятся в индех.пхп.Таким образом чтобы приинклудить определенную страницу у меня задействовано 2 переменные:http://my-site.ru/index.php?section=news&page=22102009В .htaccess через mod_rewrite урл приобретает такой вид:http://my-site.ru/news/22102009/Дык вот какой созрел вопрос:Некоторые страницы обрабатывают переменные которые в них подаются, т.е. значения переменных должны добавляться в урл страницы чтобы она получила данные.Присоветуйте, как мне эти переменные передавать, а именно их визуал в урл.Допустим фактически мой урл выглядит так:http://my-site.ru/index.php?section=news&a...&fragment=7Какой формат урла в данном случае оптимально показывать пользователю?Такой:http://my-site.ru/news/22102009/1/14/7/или такой:http://my-site.ru/news/22102009/time-1/region-14/fragment-7/или такой:http://my-site.ru/news/22102009/#time=1&am...&fragment=7Присоветуйте, что-нибудь плз Quote Link to comment Share on other sites More sharing options...
0 xPoint Posted October 22, 2009 Report Share Posted October 22, 2009 имхо, мне бы понравился такой вид ссылокhttp://my-site.ru/news/22102009/time/1/region/14/fragment/7/такой вид уже стал привычным Quote Link to comment Share on other sites More sharing options...
Question
Semreg
Работаю над структурой для сайта.
Я знаю, что можно приинклудить страницу вот таким образом если переменная "page" в урл содержит какое то значение:
Встретил в нете вот такой урл, который ведет на определенную страницу:
Как приинклудить страницу, которая указывается в урл таким образом?
Ищу в рунете ответ на свой вопрос, но пока так и не нашел )
Link to comment
Share on other sites
32 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.