Внимание! Если вам нужно просто сделать правильный robots.txt для OcroberCMS просто используйте этот плагин http://octobercms.com/plugin/zen-robots
Attention! If you just need to do the correct robots.txt for OcroberCMS simply use this plugin http://octobercms.com/plugin/zen-robots
Иногда я сталкиваюсь с задачами, в которых мне нужно отдавать страницы не в формате html а например в формате txt или xml. Где обычно это нужно? Давайте рассмотрим:
ROBOTS.TXT
Что-бы не плодить плагины, и в то-же время иметь редактируемый robots.txt на сайте, не плохо было просто взять и создать страницу с url /robots.txt с таким содержанием:
1 2 3 4 |
User-agent: * Allow: / Host: site.ru Sitemap: https://site.ru/sitemap.xml |
Мы не укажем шаблон, и по данному адресу мы получим пустую страницу с данным текстом. Но это будет HTML страница! А нам нужна именно текстовая, так что-бы это выглядело как будто у нас в корне сайта лежит обычный текстовый файл robots.txt
Раньше я использовал вот этот xeor.contenttype плагин (автор плагина Sozonov Alexey) он был бесплатен, и после установки в CMS Page появлялась дополнительное поле настройки, где можно было выбрать тип отдаваемого контента. Но через какое-то время Алексей решил что это тот самый функционал на котором можно срубить баблишка и сделал плагин платным, что меня очень огорчило (конечно всего 5 долларов, но не за строчку кода же, это уже совсем!). Ну что-ж, не будем расстраиваться, ведь данная проблема решается очень просто:
Алексей снова сделал его бесплатным, по этому пользуйтесь удобным плагином, а эту инструкцию я оставлю просто что-бы была.
В секции code нашей страницы пишем следующее:
1 2 3 4 |
function onStart() { return Response::make($this->attributes['markup'])->header('Content-Type', 'text/plain'); } |
С другими форматами всё то-же самое. Что-бы знать как какой формат должен быть прописан в заголовке Content-Type воспользуемся вот этой ссылкой
Часто используемые типы
- Текст: text/plain
- XML: text/xml
- JSON: application/json
- JavaScript: application/javascript
- CSS: text/css
- SVG: image/svg+xml
P.S. А Алексею, как и все разработчикам сообщества October я хотел бы сказать следующее: Господа разрабы, имейте понимание того, что своим крахоборством вы оттягивайте тот момент, когда October будет на вершине пищевой цепочки в пирамиде CMS (а так и будет 100%) и тогда можно будет продавать действительно функциональные и дорогие решения.
А всё потому что за какой-то минутный функционал вы уже хотите ДЕНЕГ! Не надо так!
P.P.S Алексей снова сделал бесплатным свой удобный плагин xeor.contenttype, за что скажем ему огромное спасибо за вклад в общее дело!