<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[TNF : Tatter Network Foundation forum - Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
		<link>http://forum.tattersite.com/ko/viewtopic.php?id=2397</link>
		<description><![CDATA[Robots.txt 플러그인을 만들다가 경험한 이야기 의 최근 RSS 글들.]]></description>
		<lastBuildDate>Tue, 19 Dec 2006 01:40:37 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14179#p14179</link>
			<description><![CDATA[<p>감사합니다 테스트 해보겠습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (lunamoth)]]></author>
			<pubDate>Tue, 19 Dec 2006 01:40:37 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14179#p14179</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14178#p14178</link>
			<description><![CDATA[<p>음. 조금 개선의 여지가 있겠지만... ^^;;;</p><div class="codebox"><pre><code>RewriteRule ^robots\.txt$ blog/plugin/index.php [E=SURI:1,L]</code></pre></div><p>를 .htaccess에 추가하시구요,</p><p><a href="http://isloco.com/~khlee/ways/BlockWebRobot.tar.gz">http://isloco.com/~khlee/ways/BlockWebRobot.tar.gz</a></p><p>를 가져다가 쓰시면 될 것 같습니다.</p><div class="codebox"><pre><code>&lt;binding&gt;
    &lt;listener event=&quot;/robots.txt/&quot;&gt;RobotsTXT&lt;/listener&gt;
    &lt;listener event=&quot;/robots.txt&quot;&gt;RobotsTXT&lt;/listener&gt;
  &lt;/binding&gt;</code></pre></div><p>와 같이 이벤트를 사용하고 있습니다.<br />(지금 보니 윗쪽의 listener는 빼도 될 것 같군요 <img src="http://forum.tattersite.com/ko/img/smilies/lol.png" width="15" height="15" alt="lol" />)</p>]]></description>
			<author><![CDATA[null@example.com (ways)]]></author>
			<pubDate>Tue, 19 Dec 2006 01:37:00 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14178#p14178</guid>
		</item>
		<item>
			<title><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14163#p14163</link>
			<description><![CDATA[<p>오프토픽입니다만; robots.txt 한번 써보고 싶은데요^^;;</p>]]></description>
			<author><![CDATA[null@example.com (lunamoth)]]></author>
			<pubDate>Mon, 18 Dec 2006 12:13:39 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14163#p14163</guid>
		</item>
		<item>
			<title><![CDATA[Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link>http://forum.tattersite.com/ko/viewtopic.php?pid=14135#p14135</link>
			<description><![CDATA[<p>안녕하세요. 포럼에는 처음으로 글을 쓰게 되네요 <img src="http://forum.tattersite.com/ko/img/smilies/cool.png" width="15" height="15" alt="cool" /> 잘 부탁드립니다.</p><p>다름아니라 주말에 플러그인을 좀 보다가 신기한 걸 발견해서 같은 고생하시는 분 있을까봐 적어봅니다.<br />예전에 제가 쓰는 다중블로그에 robots.txt를 달고 싶어서 고민을 하다가 선택적으로 달 수 있도록 플러그인을 만들었습니다.</p><p>내용은 대강..<br /></p><div class="codebox"><pre><code>&lt;?
function RobotsTXT($target,$mother) {
        header(&#039;Content-Type: text/plain; charset=UTF-8&#039;);
        print(&quot;User-agent: *\r\n&quot;);
        print(&quot;Disallow: /\r\n&quot;);
}
?&gt;</code></pre></div><p>요렇게 무척 간단합니다 ^^; 이벤트는 블로그주소/plugin/XXX 와 같은 형태로 나오는 이벤트를 사용하고 있구요.<br />다만 요놈의 문제는 현재 태터 구조상 plugin이 http://블로그주소/robots.txt 주소를 받을 수 없기 때문에,<br />.htaccess의 RedirectRule을 고쳐야한다는 점이지요. 그래서 공개하기 민망하기도 하지만 여튼 조용히 저희만 쓰고 있습니다.</p><p>그런데 이게 잘 되는 줄만 알았는데, 어느날 IE로 저 페이지를 접근해보니 404 에러가 나는 것이었습니다 <img src="http://forum.tattersite.com/ko/img/smilies/mad.png" width="15" height="15" alt="mad" /><br />알고보니 항상 404 에러가 나고 있었는데, FF는 404에러가 남에도 불구하고 robots.txt에 해당하는 내용을 보여줘서 제가 몰랐던 것이더군요.</p><p>한참을 고민한 끝에 찾아낸 이유는 바로 HTTP 헤더가 제대로 설정되지 않아서였습니다 <img src="http://forum.tattersite.com/ko/img/smilies/hmm.png" width="15" height="15" alt="hmm" /></p><p>현재 태터에서는 위와같이 /plugin/XXX 주소를 쓰는 플러그인의 경우 제대로 페이지를 처리했는지를 header_sent() 함수로 체크하더군요.<br />보통의 경우는 위와같이 내용을 찍어도 별 문제가 없는데, 위 경우는 내용이 너무 짧아서인지 플러그인의 처리가 다 끝나서도 헤더가 안보내진 것이었습니다.<br />그래서 태터에서는 플러그인이 실패한 줄 알고 404에러... <img src="http://forum.tattersite.com/ko/img/smilies/sad.png" width="15" height="15" alt="sad" /></p><p>결국에는 header() 뒤에 flush() 넣어서 해결했습니다 --a<br />혹시 저같이 삽질하시는 분 있을까봐 몇 자 적어봤습니다. header()는 헤더를 클라이언트에 완전히 보내는 함수가 아니라는데 주의합시다~~ <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></description>
			<author><![CDATA[null@example.com (ways)]]></author>
			<pubDate>Mon, 18 Dec 2006 05:39:37 +0000</pubDate>
			<guid>http://forum.tattersite.com/ko/viewtopic.php?pid=14135#p14135</guid>
		</item>
	</channel>
</rss>
