という名前のファイルを含むファイルがsitemap.html
あり、サイトマップに次のコードがあります。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<url>
<loc><?php echo SITE_URL . '/'; ?></loc>
<changefreq>monthly</changefreq>
<priority>1.00</priority>
</url>
<?php foreach ($this->data->content as $content): ?>
<url>
<loc><?php echo SITE_URL . $content->permalink; ?></loc>
<lastmod><?php echo date("Y-m-d", $content->publish_date); ?></lastmod>
<changefreq>monthly</changefreq>
<priority><?php echo $content->sitemap_index; ?></priority>
</url>
<?php endforeach; ?>
</urlset>
すべて問題ないようですが、次のようなエラー 500 が表示されます。
PHP 解析エラー: 構文エラー、1 行目の sitemap.html の予期しない「バージョン」(T_STRING)
ご覧のとおり、私は使用<?xml
してい<?php
ますが、PHP として解析しようとしているのはなぜですか?
最初は、問題を引き起こしているのは魔法の引用符だと思っていましたが、 get_magic_quotes_gpc() の var_dump を実行すると、魔法bool(false)
の引用符がオンになっていません。
また、私のでは、それが であることがphp.ini
わかります。magic_quotes
OFF
それを修正する代わりに、最初の行を次のように置き換えました。
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
しかし、私はまだ何が起こっているのか興味があります。
同じサーバー (PHP バージョン 5.4.45) でホストされている他の Web サイトがあり、他の Web サイトのサイトマップで PHP 解析エラーが発生しません...
このエラーの原因は何ですか?