Моя собственная php CMS: настройка структуры папок, аналогичной WordPress, и скрытие ее для публики. - PullRequest
0 голосов
/ 24 апреля 2011

Меня все еще можно считать «новым» для веб-разработки и серверного программирования, особенно.Я думал, что создание хорошей, чистой и простой в развертывании CMS поможет мне улучшить свои навыки и общее понимание.

С первой попытки я действительно не задумывался о том, как структурировать CMS, и только начал программировать.мой желаемый функционал.Но затем я дошел до того, что начал задаваться вопросом, действительно ли способ, которым я это делаю, действительно подходит.Я чувствовал, что мой бэкэнд был слишком сильно связан с самим «публично видимым» сайтом (кстати, сайт для дружелюбного фотографа).Я начал смотреть вокруг, как другие cms 'делают это, и решил, что я постараюсь построить свою структуру, подобную той из wordpress .

До сих пор я настраивал следующую структуру папок (которая почти одинакова в WordPress только с другими именами каталогов):

  • CMS
    • admin - где ведется поддержка веб-сайтов
    • включает - основные классы / функции для cms
    • public - публичная часть сайта,похож на тему WordPress

Мой домен, например, myurl.com указывает на корневую папку 'CMS'.

Хорошо, покатак просто.Но сейчас я застрял.Если я - как анонимный посетитель - хочу попасть на публичную часть сайта, мне нужно позвонить примерно так: www.myurl.com/public/whatever.php

Но я - как администратор сайта - не хочу, чтобы кто-то былсмог увидеть структуру моего сайта.Им нужно просто позвонить myurl.com и автоматически перенаправить их в общую папку моей cms.Моя первая мысль была: ну, тогда мне просто нужно, чтобы myurl.com указывал на публичную папку моих cms.Но с этим решением, как я - как администратор - собираюсь добраться до папки администратора?Мне нужно настроить новый поддомен, например admin.myurl.com, и позволить ему указывать на папку администратора.

Но ... это не то, что делает Wordpress.Для блога WordPress URL-адрес просто должен указывать на корневую папку, и к админ-панели можно обратиться через somewpblog.com/wp-admin

  1. Может кто-нибудь объяснить мне, как этот материал работает в WordPressи что мне нужно сделать, чтобы добиться этого эффекта для моей cms?
  2. как я могу скрыть имя файла от URL, как это сделано в WordPress, например, вместо somewpblog.com/category.php?id=123 -> somewpblog.com/?cat=123

1 Ответ

1 голос
/ 24 апреля 2011

Посмотрите на шаблон переднего контроллера, все остальное станет на свои места: http://en.wikipedia.org/wiki/Front_Controller_pattern

В основном вам нужен 1 файл в вашем /public с именем index.php, который будет смотреть на запрошенный URL и делать все, включая остальные ваши страницы.

Вы также можете переписать URL через .htaccess

http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...