<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[TNF : Tatter Network Foundation forum - Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
	<link rel="self" href="http://forum.tattersite.com/ko/extern.php?action=feed&amp;tid=2397&amp;type=atom"/>
	<updated>2006-12-19T01:40:37Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.tattersite.com/ko/viewtopic.php?id=2397</id>
		<entry>
			<title type="html"><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link rel="alternate" href="http://forum.tattersite.com/ko/viewtopic.php?pid=14179#p14179"/>
			<content type="html"><![CDATA[<p>감사합니다 테스트 해보겠습니다. <img src="http://forum.tattersite.com/ko/img/smilies/smile.png" width="15" height="15" alt="smile" /></p>]]></content>
			<author>
				<name><![CDATA[lunamoth]]></name>
				<uri>http://forum.tattersite.com/ko/profile.php?id=56</uri>
			</author>
			<updated>2006-12-19T01:40:37Z</updated>
			<id>http://forum.tattersite.com/ko/viewtopic.php?pid=14179#p14179</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link rel="alternate" href="http://forum.tattersite.com/ko/viewtopic.php?pid=14178#p14178"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[ways]]></name>
				<uri>http://forum.tattersite.com/ko/profile.php?id=776</uri>
			</author>
			<updated>2006-12-19T01:37:00Z</updated>
			<id>http://forum.tattersite.com/ko/viewtopic.php?pid=14178#p14178</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[RSS 답글: Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link rel="alternate" href="http://forum.tattersite.com/ko/viewtopic.php?pid=14163#p14163"/>
			<content type="html"><![CDATA[<p>오프토픽입니다만; robots.txt 한번 써보고 싶은데요^^;;</p>]]></content>
			<author>
				<name><![CDATA[lunamoth]]></name>
				<uri>http://forum.tattersite.com/ko/profile.php?id=56</uri>
			</author>
			<updated>2006-12-18T12:13:39Z</updated>
			<id>http://forum.tattersite.com/ko/viewtopic.php?pid=14163#p14163</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Robots.txt 플러그인을 만들다가 경험한 이야기]]></title>
			<link rel="alternate" href="http://forum.tattersite.com/ko/viewtopic.php?pid=14135#p14135"/>
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[ways]]></name>
				<uri>http://forum.tattersite.com/ko/profile.php?id=776</uri>
			</author>
			<updated>2006-12-18T05:39:37Z</updated>
			<id>http://forum.tattersite.com/ko/viewtopic.php?pid=14135#p14135</id>
		</entry>
</feed>
