Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обработка sitemap.xml как php
 
 автор: zsaz   (22.03.2011 в 10:25)   письмо автору
 
 

Хочу сделать динамически обновляемую карту сайта sitemap.xml
xml файл php-код обрабатывать не умеет, но на сколько я знаю это можно как-то сделать настройками .htaccess или как-то еще. Подскажите плз, как это можно организовать???

  Ответить  
 
 автор: cheops   (22.03.2011 в 10:43)   письмо автору
 
   для: zsaz   (22.03.2011 в 10:25)
 

Есть два подхода, первый заключается в создании sitemap.php и назначении ему псевдонима sitemap.xml в файле .htaccess при помощи mod_rewrite
RewriteEngine on
RewriteRule sitemap.xml sitemap.php [L]
Второй подход связан с тем, чтобы назначить файлам с расширением xml в качестве обработчика интерпретатор PHP (также в файле .htaccess)
RemoveHandler .xml
AddType application/x-httpd-php .php .xml

  Ответить  
 
 автор: zsaz   (22.03.2011 в 16:55)   письмо автору
 
   для: cheops   (22.03.2011 в 10:43)
 

спасибо, вроде сделал.
Только скажите, карта сайта так и должна выглядеть??
http://mashintop.ru/sitemap.xml

  Ответить  
 
 автор: cheops   (22.03.2011 в 17:27)   письмо автору
 
   для: zsaz   (22.03.2011 в 16:55)
 

Да.

  Ответить  
 
 автор: zsaz   (23.03.2011 в 08:29)   письмо автору
 
   для: cheops   (22.03.2011 в 17:27)
 

А можете подсказать еще?!
Добавил карту в яндекс, так он выдает ошибку "Невалидный XML"
Что там невалидного??

  Ответить  
 
 автор: cheops   (23.03.2011 в 12:43)   письмо автору
 
   для: zsaz   (23.03.2011 в 08:29)
 

Ну вероятно где-то ошибка в структуре XML: тэг не закрыт, заглавные буквы используются или еще что-то. Сложно сказать без не видя самого XML-файла. Кроме того, sitemap - это помоему формат google, может у яндекса какие-то свои требования к таким файлам.

  Ответить  
 
 автор: zsaz   (24.03.2011 в 14:57)   письмо автору
 
   для: cheops   (23.03.2011 в 12:43)
 

RemoveHandler .xml
AddType application/x-httpd-php .php .xml

а как в этом способе сделать так, чтобы обрабатывался только файл sitemap.xml, а не все .xml файлы, а то у меня wysiwyg перестал работать из-за этих строчек:(

  Ответить  
 
 автор: cheops   (24.03.2011 в 17:25)   письмо автору
 
   для: zsaz   (24.03.2011 в 14:57)
 

Можно. В .htaccess поместите следующие строки
<FilesMatch "^sitemap.xml$">
  RemoveHandler .xml 
  AddType application/x-httpd-php .php .xml
</FilesMatch>

  Ответить  
 
 автор: zsaz   (31.03.2011 в 09:06)   письмо автору
 
   для: cheops   (24.03.2011 в 17:25)
 

а почему вот эта карта сайта выглядит хорошо http://moisvet.net/sitemap.xml
ее и яндекс принимает.

а моя карта сайта http://mashintop.ru/sitemap.xml представляет собой просто набор букв. И яндекс ее не принимает, ругается на нее...

Мне кажется вся проблема в .htaccess т.е., если убрать строки, что написаны выше, то карта сайта становится нормальной, но она не может обрабатывать PHP((((

  Ответить  
 
 автор: cheops   (31.03.2011 в 09:30)   письмо автору
 
   для: zsaz   (31.03.2011 в 09:06)
 

У вас & помещен как есть, замените его на &amp;

  Ответить  
 
 автор: zsaz   (18.05.2011 в 06:45)   письмо автору
 
   для: cheops   (31.03.2011 в 09:30)
 

Подскажите пожалуйста, как нужно прописать, чтобы не только sitemap.xml обрабатывался как пхп, но и еще announcement.xml

<FilesMatch "^sitemap.xml$">
  RemoveHandler .xml 
  AddType application/x-httpd-php .php .xml
</FilesMatch>

  Ответить  
 
 автор: cheops   (18.05.2011 в 13:39)   письмо автору
 
   для: zsaz   (18.05.2011 в 06:45)
 

Можно, конечно, исправить регулярное выражение так
<FilesMatch "^(sitemap|announcement).xml$"> 
  RemoveHandler .xml  
  AddType application/x-httpd-php .php .xml 
</FilesMatch>
однако вам вероятнее будет проще все xml-файлы рассматривать как PHP.
  RemoveHandler .xml  
  AddType application/x-httpd-php .php .xml

  Ответить  
 
 автор: zsaz   (19.05.2011 в 06:20)   письмо автору
 
   для: cheops   (18.05.2011 в 13:39)
 

Спасибо!
Правда второй вариант не подходит, т.к. у меня fckeditor есть, и там тоже есть xml. И если их обрабатывать как php, то редактор перестает работать. А первый вариант то что надо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования