ブラウザはローカルの「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/

最も簡単な解決策は、おそらくローカルWebサーバーを実行することです。提案されているように、python3 -m http.server通常は良い選択であり、うまく動作しますindex.html

「Minto Pyramid」リンクをクリックすると、へのリンクが表示されます/minto-pyramid。問題は、このminto-pyramidファイルに拡張子がないため、PythonのhttpサーバーがどのMIMEタイプを使用するのかわからないことです。ブラウザに文書として渡されるapplication/octet-streamため、ブラウザでは表示できないと判断してファイルに保存するように求められます。

text/html最速の解決策は、デフォルトで認識された拡張子なしでファイルを入力するようにWebサーバーを設定することです。コマンドラインから直接これを行うことができます。暗い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ブラウザに表示できます。

おすすめ記事