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 너무 많은 코드를 시도이기 때문에이 계속됩니다 github 및 google의 다른 seach 페이지에서. 그러나 내가 필요한 것을 정확히 찾지 못했습니다. 제발 도와 줄 수 있어요.

답변

0

이이 CLI 스크립트 당신 :Refer

에게 도움이 될 수 있습니다. 자동으로 사이트를 크롤링하여 XML 사이트 맵을 동적으로 생성합니다.

당신은 스크립트보다 실행하는 것보다 알고 있어야합니다

  • PHP CLI를
  • XML

확인하고 어떤 어려움을 찾을 경우 알려 주시기 바랍니다.

감사합니다.

+0

처럼 작동합니다. 코드가 잘 작성되지 않았다고 생각합니다. 그것은 PHP 메모리 제한을 많이 소모하고 있습니다. 나는 64MB까지 개까지 한계를 확장했다. 여전히 소비하고 있습니다. 다른 방법은 없나요? –

+0

CLI에서 이것을 실행 하시겠습니까? –

+0

번호. 웹 사이트로. –

5

가장 좋은 솔루션은 루트 폴더에 액세스 할 수 있으며 단순히 때문에 정상적으로 될 것이라고 루트 폴더에있는 파일 sitemap.php을 가진 후 RewriteEngine On

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

이후 .htaccess 파일을 아파치에 다음 행을 추가하는 것입니다 모든 검색 엔진이 먼저 검색 할 기본 URL 인 http://yoursite.com/sitemap.xml을 통해 액세스 할 수 있습니다. 나는이 솔루션을

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

파일 sitemap.php 시작하며, 그것은 매력 : 나는이 코드를 시도