검색 스크립트에서 robots.txt에 액세스하는 중에 문제가 발생했습니다.

검색 스크립트에서 robots.txt에 액세스하는 중에 문제가 발생했습니다.

나는 완벽한 검색 스크립트를 사용하고 있습니다http://www.perlfect.com/freescripts/search/몇 년 동안 내 사이트에 있었습니다. 알 수 없는 이유로 몇 달 전에 제대로 작동하지 않았습니다. 인덱싱 스크립트를 실행하면 다음 오류가 발생합니다.

Loading http://emetnews.org/robots.txt...
Error: Couldn't get 'http://emetnews.org/robots.txt': response code 403
Not using any robots.txt.
Error: Couldn't get 'http://emetnews.org/': response code 403

robots.txt 파일은 Google은 물론 사이트 방문자도 쉽게 액세스할 수 있습니다. 권한은 644로 설정되어 있습니다. 스크립트 작동이 중단될 때까지 아무것도 변경하지 않았습니다. 스크립트 개발자에게 연락할 수 없습니다(그들은 몇 년 동안 스크립트나 웹사이트를 업데이트하지 않았습니다). 내 웹 호스트는 "외부" 스크립트를 지원하지 않습니다.

무슨 일이 일어나는지 아는 사람 있나요? 스크립트의 레이아웃이 마음에 듭니다. 사용해보면 매우 전문적으로 보입니다(그리고 무료입니다).


작업 결과 curl --user-agent libwww-perl/6.08 http://emetnews.org/robots.txt:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /robots.txt
on this server.</p>
<p>Additionally, a 500 Internal Server Error
error was encountered while trying to use an ErrorDocument to handle the request.</p>
</body></html>

curl http://emetnews.org/robots.txt:

User-agent: Mediapartners-Google
Disallow:

Sitemap: http://emetnews.org/sitemap.xml

# User-agent: Browsershots
# Disallow:

User-agent: NinjaBot
Allow: /

User-agent: *
Disallow: /_lee/
Disallow: /blosxom/flavours/
Disallow: /blosxom/plugins/
Disallow: /contact/
Disallow: /cgi-bin/
Disallow: /feedback/
Disallow: /img/
Disallow: /includes/
# Disallow: /javascript/
Disallow: /lastrss/
# Disallow: /media/
Disallow: /mp3s/
Disallow: /print/
Disallow: /r/
Disallow: /sendPage/
# Disallow: /style/
Disallow: /talkback/
Disallow: /trip/
# block any URL that includes a ?
Disallow: /*?

# Disallowing the robot from Alexa from listing files in the Internet Archive
User-agent: ia_archiver
Disallow: /

당신의 도움을 주셔서 감사합니다. 내 .htaccess 파일에 다음이 있습니다.

# Blocks access from libwww-perl user-agents and URLS which include the command "=http:"
RewriteCond %{HTTP_USER_AGENT} libwww [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)=http [NC]
RewriteRule ^(.*)$ - [F,L]

나는 그것을 주석 처리했고 이제 실행할 때 robots.txt 파일의 텍스트를 얻을 수 있습니다.

curl --user-agent libwww-perl/6.08 http://emetnews.org/robots.txt

그러나 이제 인덱서를 실행하면 더 이상 "할 수 없습니다"라는 메시지가 표시되지 않습니다.얻다robots.txt 파일이 표시됩니다.소홀히 하다문서. ???

관련 정보