Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Про ЧПУ и не только.. [3]
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Тогда зачем ты что-то правишь? Убери эти строки в .htaccess и у тебя по дефолту без правки .htaccess запрос site.ru/reg.php и так адресуется на reg.php я не понимаю что ты хочешь тогда...
Estenny
Отправлено: 15 Ноября, 2011 - 05:55:48
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011 Откуда: Москва
Помог: 0 раз(а)
sKaaты написал, что при том запросе (site.ru/reg/) будет в итоге переадресовка на site.ru/index.php?reg. Но мне то надо, чтобы была переадресовка на site.ru/reg.php.
DeepVarvar
Отправлено: 15 Ноября, 2011 - 06:01:13
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Estenny Жостко. А потом вам нужна будет переадресовка на news.php, articles.php, catalog.php, profile.php, newmessage.php, mail.php... Перечитайте уж концепцию чтоли...
Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011 Откуда: Москва
Помог: 0 раз(а)
Ладно, я попытаюсь заново объяснить мою проблему.
Расположение файлов: в папке escms.ru (соответственно это и домен) лежит папка www, в которой находятся все файлы.
Имеется файл index.php и он у меня как главная страница блога, на которой находятся новости первой страницы.
На ней выводятся новости в кратком варианте и есть ссылки на них. Имеется страница single.php, которая является шаблоном для одиночных записей, на которые ссылка. Контент этой страницы генерируется с помощью получения ID из $_GET, т.е. ссылка с главной такого типа: http://escms.ru/single.php?id=1. А теперь то, что надо мне: мне надо, чтобы вместо ссылки типа http://escms.ru/single.php?id=1 на всем сайте были ссылки типа http://escms.ru/single/1. Вот то, что мне нужно.
sKaa
Отправлено: 15 Ноября, 2011 - 16:48:11
Частый посетитель
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
Попытайся ещё раз прочитать концепцию прежде чем пытаться объяснить, что ты хочешь.
Ты можешь понять что под ЧПУ тебе нужна совсем другая организация обработки GET запросов?
Попробую на пальцах :
У тебя был запрос : http://escms[dot]ru/single.php?id=1
Он обрабатывался файлом single.php в котором была строчка $id = $_GET['id'];
Теперь ты изменив таким образом свой .htaccess как ты указал выше, ПЕРЕНАПРАВЛЯЕШЬ ВСЕ запросы на файл index.php
Я частично понял, что ты хочешь сделать но для этого тебе нужно писать по новому правилу в .htaccess для каждого файла будь то index.php, single.php news.php или любой другой..
Вместо этого в начале статьи тебе предлагают сделать одну точку входа
Тоесть запрос : http://escms.ru/single/1 будет обрабатываться сервером как index.php?single/1
что в этом плохого?
А в файле index.php уже разбивай строку запроса как тебе нужно и обрабатывай её, загружая single.php или news.php в зависимости от того что указано в запросе..
DeepVarvar
Отправлено: 15 Ноября, 2011 - 16:58:37
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Estenny пишет:
Имеется страница single.php, которая является...
В общем у вас только шаблоны в которых выполняется пхп. Гы...
Самый первый пост этой ветки, напротив, описывает верное направление действий.
А именно единую точку входа, будь там хоть такой адрес: kuku/pipi/haha/mumu.
Файлов *.php по этим адресам не существует.
А существует в самом простейшем варианте контроллер который я и описывал.
Причем специально отбросил все эти __autoload, method_exists и прочую пургу, которую сложно понять с наката.
В замен этим пляскам я предложил простейший вариант - подключение модуля, по значению первого параметра (в текущем примере это: /modules/kuku.php).
Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011 Откуда: Москва
Помог: 0 раз(а)
О, теперь я понял концепцию! Буду сейчас все объединять!
Т.е. я просто создаю каталог modules, в котором и будут лежать шаблоны вывода информации, например, тот же самый single.php, но от-туда вызывать мне нужно лишь часть кода, которая будет мне что-то выводить, т.е. мне нужно лишь шаблон вывода вписать в этот файл single.php. Я правильно понял?
DeepVarvar
Отправлено: 15 Ноября, 2011 - 17:30:50
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
1) Помоему название папки модулей (мамки подулей) говорит само за себя - никаких шаблонов, только логика.
Шаблоны положите в папку templates. Какая разница откуда их инклюдить?
В контроллере же ждите возвращаемый логикой модуля результат, на основе которого подключается нужный шаблон/подшаблон. (Добавление)
Да ёпт....
index.php:
Поместил это в файл index.php, дальше, создал папку (в той же директории, где лежит index.php) с именем modules и положил туда файл 404.php.
И теперь, когда я перехожу просто на escms.ru (просто главная сайта), меня переносит на 404.php. Почему? Что такое? А по запросу escms.ru/articles мне вообще открывается страница ошибки 404, но только уже Денверовская!
DeepVarvar
Отправлено: 15 Ноября, 2011 - 17:44:57
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Так в любом месте кода можно переопределить шаблон.
А вдруг не будет (см. массив) раздела 23 или пункта 18 в этом разделе?
aaa.php (extended logic):
Покинул форум
Сообщений всего: 122
Дата рег-ции: Нояб. 2011 Откуда: Москва
Помог: 0 раз(а)
DeepVarvar, ахах .
Что-то мне кажется, что у меня проблемы с .htaccess...
DeepVarvar
Отправлено: 15 Ноября, 2011 - 18:20:58
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Да у меня его и нет совсем собственно хтацесса этого, я на nginx'e как-то больше...
Апач остановлен, спит на диске с год уже...
Так что уже подзабыл все эти апачкины реврайты..
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.