2016-08-29 2 views
-1

まず、私がPHPを学んでいると教えてください。私は自分のサイトのための自動的に動的なサイトマップを作成したい。スクリプト(sitemap.phpと仮定)は私のサイトのすべてのリンクをクロールし、1000個のURLの配列を作成します。 1000のURLの上限に達すると、1000のURL配列を持​​つ別のページIDが作成されます。スクリプトの出力は次のようになりますように:
PHPでダイナミックサイトマップを作成する

<sitemapindex xmlns="http://www.google.com/schemas/sitemap/0.84" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84 http://www.google.com/schemas/sitemap/0.84/siteindex.xsd"> 

<sitemap> 
<loc>http://exmaple.com/sitemap.php?page=1</loc> 
</sitemap> 
<sitemap> 
<loc>http://example.com/sitemap.php?page=2</loc> 
</sitemap> 
</sitemapindex> 

1ページはXML形式で1000のURLを持っていますし、2ページもありますし、サイトがupdated.Iは非常に多くのコードを試してみましたので、これは上に行くだろうgoogleからgithubと他のseachのページから。しかし、私が必要とするものを正確に見つけていない。お願いします。

答えて

0

これはこれはCLIスクリプトであるあなたに:Refer

を助けるかもしれません。自動的にサイトをクロールしてXMLサイトマップを動的に生成します。あなたは、スクリプト上で実行するには、物事の下に知っておく必要があります

  • PHP CLI
  • カール
  • XML

確認し、任意の難しさを見つけた場合はお知らせください。

ありがとうございました。

+0

のように動作します。私はコードがうまく書かれていないと思う。それはPHPのメモリ制限を非常に消費しています。私は64メガバイトまでの制限を延長しました。まだそれは消費しています。他の方法は? –

+0

これはCLIから実行していますか? –

+0

番号。ウェブサイトとして。 –

5

最善の解決策は、あなたへのアクセスルートフォルダを持っているとRewriteEngine On

RewriteRule ^sitemap\.xml$ sitemap.php [L] 

後、あなたのapache .htaccessファイルに次の行を追加することで、その後、単にので、通常になり、あなたのルートフォルダにファイルsitemap.phpを持ちますhttp://yoursite.com/sitemap.xmlでアクセスできます。これは、すべての検索エンジンが最初に検索するデフォルトのURLです。私はこのソリューションを持っている

<?php header('Content-type: application/xml; charset=utf-8') ?> 
<?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?> 

ファイルsitemap.phpがスタートすると、それは魅力:)私はこのコードを試してみました

関連する問題