홈페이지를 다운받았어요https://www.untools.co/그리고
wget --mirror --convert-links https://www.untools.co/
내 파일 시스템에 해당 페이지가 있습니다.
Firefox로 열면 untools.co/index.html
페이지가 0.5초 동안 표시된 다음 로 리디렉션됩니다 file:///
.
Firefox를 사용하는 가상 머신의 Windows에서 파일을 열면 문제가 없기 때문에 html 파일에 문제가 있다고 생각하지 않습니다.
이 문제는 Firefox뿐만 아니라 Chrome, Brave 및 Konqueror 브라우저에서도 발생하므로 Kubuntu 20.04의 문제임이 틀림없다고 생각했습니다.
아니면 내가 모르는 다른 이상한 리디렉션이 진행되고 있을 수도 있습니다. 예를 들어https://help.dreamhost.com/hc/en-us/articles/215747748-How-can-I-redirect-and-rewrite-my-URLs-with-an-htaccess-file-index.html에서 리디렉션하는 방법을 읽었지만 리디렉션되지 않도록 하고 싶습니다.
답변1
우리가 의견에서 말했듯이, 첫 번째 문제는 main에 index.html
로 리디렉션을 강제하는 내장된 Javascript가 포함되어 있다는 것 입니다. 이는 이와 같은 것이 로 리디렉션되는 /
웹사이트에는 적합 하지만 파일을 전달할 때는 시스템이 거의 사용되지 않습니다. 콘텐츠에 액세스하고 결국 파일 시스템 루트로 리디렉션됩니다.http://example.com/foo/
http://example.com/
가장 간단한 해결책은 아마도 로컬 웹 서버를 실행하는 것입니다. 제안하신 대로 python3 -m http.server
일반적으로 좋은 선택이며 성공적으로 작동합니다 index.html
.
"Minto Pyramid" 링크를 클릭하면 에 대한 링크가 표시됩니다 /minto-pyramid
. 이제 문제는 이 minto-pyramid
파일이 확장자가 없기 때문에 Python의 http 서버가 어떤 MIME 유형을 사용할지 알 수 없다는 것입니다. 브라우저에 문서로 전달되기 application/octet-stream
때문에 브라우저에서는 표시할 수 없다고 판단하여 파일로 저장하라는 메시지를 표시합니다.
text/html
가장 빠른 해결책은 기본적으로 인식된 확장자 없이 파일을 입력하도록 웹 서버를 설정하는 것입니다 . 명령줄에서 직접 이 작업을 수행할 수 있습니다.어두운 httpd, 배포판에서 사용하기 위해 다음과 같이 패키지될 수 있습니다.
darkhttpd . --port 8000 --default-mimetype text/html
server.py
그러나 Python을 다음과 같은 디렉터리 에 넣으면 Python에서도 동일한 작업을 수행할 수 있습니다 index.html
.
import http.server
from http.server import HTTPServer, BaseHTTPRequestHandler
import socketserver
Handler = http.server.SimpleHTTPRequestHandler
Handler.extensions_map = {
".html": "text/html",
".png": "image/png",
".jpg": "image/jpg",
".svg": "image/svg+xml",
".css": "text/css",
".js": "application/javascript",
"": "text/html", # Default
}
httpd = socketserver.TCPServer(("", 8000), Handler)
httpd.serve_forever()
그런 다음 실행하십시오.
python3 server.py
두 솔루션 모두 링크를 클릭하여 minto-pyramid
브라우저에 표시할 수 있습니다.