Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Организация сайта |
Автор: nns2009 7.1.2011, 23:32 | ||
Думаю создать полноценный сайт, на котором страницы различаются только внутренним содержанием(все менюшки и т.п. на страницах, как на любом нормальном сайте, одинаковые). В связи с этим возникает идея: сделать одну единственную страницу вида:
А все ссылки делать вида: index.php?currentPageName=имя_страницы_на_которую_ведёт_ссылка Как вам такой подход? Может быть у него есть скрытые минусы? А можно ли(чисто для красоты) сделать так, чтобы ссылки были вида: имя_страницы_на_которую_ведёт_ссылка/ (хотя папки "имя_страницы_на_которую_ведёт_ссылка" и не существует) а какая-нибудь система перенапрявляла результат на: index.php?currentPageName=имя_страницы_на_которую_ведёт_ссылка хотя в браузере пользователя по прежнему должно отображаться: имя_страницы_на_которую_ведёт_ссылка/ ? |
Автор: Evghenusi 8.1.2011, 00:08 |
![]() |
Автор: Kefir 8.1.2011, 00:59 | ||
nns2009, вот если честно, то тут надо различать: 1) Ты хочешь понаступать на грабли, подучить язык, сделать всё сам и понять как всё работает? Тогда действительно можно (и даже, наверное, нужно) начинать писать своё (то что указал ты - нормальный вариант, только учти то, что bars80080 сказал). 2) Ты хочешь именно что полноценный сайт? Тогда добрый совет - возьми хотя бы фреймворк какой-нибудь (будь то Zend, CodeIgniter или что-то ещё) и делай на них - проблем у тебя будет сильно меньше, сайт ты сможешь сделать сильно быстрее. Если вообще нет желания мучать себя - возьми готовый MODx (к примеру). Там и напрограммируешься вдоволь создавая нужные фичи, но хоть база (странички, админка) буду готовы. Не подумай, что я тебя отговариваю. Просто если хочется начинать самому и с нуля, то как показывает практика - до полноценного сайта доживают единицы. Добавлено через 1 минуту и 24 секунды
Ну что вы буки такие ![]() |
Автор: bars80080 8.1.2011, 01:03 | ||
вот насколько я помню свои заморочки, то мне гораздо быстрее искалось нужное по сочетанию "директивы .htaccess". mod_rewrite выводил чёрт знает куда |
Автор: Kefir 8.1.2011, 01:14 |
bars80080, а я всегда писал а-ля "mod_rewrite examples" и копипастал всё что под руку попадёт. И в итоге иногда оно даже работало ![]() |
Автор: ayax2005 8.1.2011, 04:19 |
Добавить почти нечего, кроме: эти ваши инклюд бегин и енд - ssl чистой воды. Это неправильный подход. Барс правильно заметил насчёт БД - вообще, чем меньше юзер догадывается о том, как работает ваш сайт (в частности об именах файлов), тем вам же лучше. У вас на сервере кроме файлов классов всё остальное должно быть динамическим (ну если вы не фанат xml конечно), хотя чур меня.... |
Автор: nns2009 8.1.2011, 14:59 | ||||||||||
У меня появились ещё два варианта: 1)
2) У пользователя нет возможности добавлять файлы в папку pages
Как вам такие подходы? В них не придётся лезть в БД. Правда я слышал, что при использовании include, require поисковые системы плохо индексируют сайт. Это так? Почему именно?
Всего понемногу, но в конце концов сделать сайт с непомойной структурой(ну и работающий). По поводу фреймвоков. Мне кажется, что на их изучение уйдёт больше времени, чем на сам сайт. Все регистрации, вроде как, тоже обходятся парой запросов в базу данных.
Буду искать. |
Автор: Smorodin 8.1.2011, 15:34 | ||
Тоже БД не надо, но на мой взгяд, более разумно, если не 100 страниц. |
Автор: Codd 8.1.2011, 16:30 | ||
в .htaccess добавь запись: <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/?currentPageName=$1 [L,QSA] </IfModule> Все запросы будут идти через index.php Если будет фавикон, роботс.txt или ещё что-то, то добавляешь RewriteCond $1 !^(robots\.txt|favicon\.ico) |
Автор: cia 9.1.2011, 19:42 | ||
Наверное, путаешь с фреймами. Открой html-код сформированной php-страницы (ctrl+u в файрфоксе) - там нет никаких сведений о том, где и сколько раз использовались include и require и, соответственно, поисковики об этом ничего знать не будут. А вот с фреймами дело обстоит по другому: ведь это разные html-файлы и поисковик вполне может проиндексировать их по отдельности и выдать в результатах поиска ту часть страницы (фрейм), которая не предназначена для вывода напрямую. |
Автор: InfMag 9.1.2011, 23:50 |
cia, мне кажется он имел в виду плохую индексацию когда инклюды явные index.php?inc=file.php в то время как ЧПУ: /file/ - всё про тот же htaccess |
Автор: skyboy 10.1.2011, 09:58 | ||
А зачем? Если файл существует, у тебя RewriteCond уже не дадут сработать mod_rewrite директивам |
Автор: nns2009 10.1.2011, 21:45 | ||||
Давно я не был на apple.com А я то думал, почему никто фреймы не использует. Начал эксперементировать с .htaccess: Содержимое файла такое:
При этом не работает ни Страница Ошибки, ни редирект, ни даже сам index.php. Почему? А как задать сайту иконку? |
Автор: skyboy 10.1.2011, 22:48 |
в error.log смотрел? |
Автор: InfMag 11.1.2011, 01:10 | ||||
nns2009, как создать иконку - это вопрос по сути к вёрстке относится. Кладёшь в корень сайта favicon.ico - именно с таким именем, 16х16. По сути современным браузерам этого достаточно, они её откопать должны сами. Но можно для убедительности дописать:
Добавлено через 3 минуты и 44 секунды
Разве нет? |
Автор: nns2009 11.1.2011, 23:16 | ||
Работает, хотя я тут ничего и не понял. Всем большое спасибо! |