Вариант создания карты сайта на 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>
Комментарии
Тут еще нет комментариев, Вы можете стать первым...
Тут еще нет комментариев, Вы можете стать первым...