./comments
./contacts icq: 909889;
email: ;

Вариант создания карты сайта на php

PHP
Карта сайта на PHP фото

Дошли руки и до карты сайта (сайтмап / sitemap)... итак, карта динамическая, полностью в автоматическом режиме генерируемая (не хватало нам еще своими руками её каждый раз править ;) )
Никаких php кодов генератора палить не буду, только алгоритм и заметки на тему.

Алгоритм работы:
- Каждый модуль генерит маленькую карту со своими страничками, к примеру блог категории и сами записи. Всё это складывается в нужную нам папку на сервере.
- А основной файл sitemap.xml просто перечисляет все имеющиеся карты, служит своего рода картой сайтмапов.

Карта сайта:
http://stik.name/sitemap.xml

Заметки на тему:
Как заставить выполняться php код в xml файле?
Есть два подхода, в первом варианте мы не будем выполнять в xml файле php код, выполнять его будет php файл, а сервер представит его для клиента как xml файл. Создаём sitemap.php и назначаем ему псевдоним sitemap.xml в файле .htaccess при помощи mod_rewrite
RewriteEngine on 
RewriteRule sitemap.xml sitemap.php [L]


Во втором варианте мы заставим сервер выполнять php код непосредственно в xml файлах, а именно назначим файлам с расширением xml в качестве обработчика интерпретатор PHP (тоже в файле .htaccess)
RemoveHandler .xml 
AddType application/x-httpd-php .php .xml


Но во втором варианте есть один ньюанс, если добавить такую запись в корневой .htaccess то действовать он будет на все xml файлы в папках и подпапках сервера. Бывают случаи когда этого нужно избежать... тогда используем следующий вариант кода
<FilesMatch "^sitemap.xml$"> 
RemoveHandler .xml
AddType application/x-httpd-php .php .xml
</FilesMatch>


Или для нескольких перечисленых файлов
<FilesMatch "^(sitemap|blablabla).xml$">  
RemoveHandler .xml
AddType application/x-httpd-php .php .xml
</FilesMatch>
24.01.2013 11:04:42
stk
797
0
Комментарии

Тут еще нет комментариев, Вы можете стать первым...