inflearn logo
강의

Course

Instructor

Building Real-world Websites with Python by Dr. Nam

도메인 바로 뒤에 txt 파일을 주소로하는 파일을 올리고 싶은데, 잘 안되네요..

649

yoon

17 asked

1

도메인.com/ads.txt

이런식으로 텍스트 파일이 바로 도메인 뒤에 위치하도록 업로드 하고 싶은데,

도메인.com/ads.txt 접속을 해보면 이렇게 에러 메시지가 발생합니다.

mimetype='text/plain'을 사용해서 코드를 작성해봤는데,

주소 인식을 못하더라구요.

남박사님 이런 경우에는 어떻게 코드를 수정해야 하나요?

너무 궁금합니다.

python

Answer 2

0

nambaksa

from flask import Flask
from flask import send_from_directory
from flask import request

app = Flask(__name__)

@app.route("/robots.txt")
@app.route("/abc.txt")
def index():
    print("Root:{}".format(app.root_path))
    print("Request.path:{}".format(request.path))
    return send_from_directory(app.root_path, request.path[1:])


if __name__ == "__main__":
    app.run(debug=True)

제가 테스트 해본 코드에서는 문제없이 동작하는 걸 확인했습니다.

/robots.txt, /ads.txt 파일은 send_from_directory 로 전송하기 위해서 해당 py 파일이 위치한 경로에 robots.txt, ads.txt 가 존재해야 합니다. (static 폴더와 무관합니다)

0

yoon

남박사님, 질문올리고 나서도 고민하고 적용시키길 반복해서 결국 결과적으로는 해결했습니다!^^

그런데 혹시 제가 한 방식이 괜찬은 건기 한번 봐주실 수 있나요?

app = Flask(__name__, static_folder='static')

@app.route('/ads.txt')
def root_directory():

    return send_from_directory(app.root_path, request.path[1:])

이렇게 적용시켰는데,

처음에는 app = Flask(__name__, static_folder='static', root_path='/')

이렇게 적용시키니까 도메인.com/ads.txt 부분은 제대로 반영이 되는데,

index.html이 작동을 안하더라구요.

혹시나 해서 root_path='/' 부분을 빼고 적용시키니까, 정상 작동 합니다^^

혹시 이렇게 적용해도 큰 무리는 없는건가요?

그리고 동일한 방법으로 도메인 뒤에 robots.txt를 위치시키려고 하는데,

아래와 같이 코드를 넣어봤는데,

app = Flask(__name__, static_folder='static')

@app.route('/robots.txt')
@app.route('/ads.txt')
def root_directory():

    return send_from_directory(app.root_path, request.path[1:])

ads.txt만 정상적으로 동작하고 robots.txt는 아래 오류가 발생하더라구요.

Not Found. The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again. 

어떻게 하면 ads.txt, robots.txt 모두 적용 시킬 수 있을까요?

iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?

0

63

2

리스트 이동 시 창 에러 발생

0

73

1

배포후 회원 등록 후 로그인 에러...

0

72

2

내부 서버 오류

0

65

2

app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"

0

53

2

DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.

0

44

1

몽고db studio3T를 깔았는데

0

56

2

flake8과 linter

0

72

3

500이 뜹니다.

0

57

2

첨부파일 삭제

0

66

2

검색기능 질문

0

61

2

google.py

0

66

2

Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ

0

81

3

혹시 전체 코드 공개되어 있나요?

0

95

1

join.html 의 form 태그값 을 member_join() 에서 처리못함.

0

102

1

google.py 몽고db 샘플데이터 만들기

0

99

2

flake8 설치 이후 명령팔레트에서 linter가 안보입니다.

0

236

2

파이썬으로 만들어서 웹호스팅에 올릴경우

0

303

1

현재 구글검색 무한스크롤변경 문의합니다

0

295

1

몽고디비아틀라스로 추가 공부해서 올립니다.

0

216

1

IIS 500.19에러

0

652

2

버전 문제도 수정했는데 결과가 안나옵니다.

0

255

1

데이터베이스 저장관련 질문입니다.

0

266

1

test가 생기지 않습니다.

0

501

3