브라우저는 로컬 "index.html" 파일에서 "file:///"-root로 리디렉션됩니다.

브라우저는 로컬 "index.html" 파일에서 "file:///"-root로 리디렉션됩니다.

홈페이지를 다운받았어요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브라우저에 표시할 수 있습니다.

관련 정보