Wie verstecke ich HTML-Dateierweiterungen vor URLs in einem Go-HTTP-Server?

Mary-Kate Olsen
Freigeben: 2024-10-27 16:26:02
Original
542 Leute haben es durchsucht

How to Hide HTML File Extensions from URLs in a Go HTTP Server?

So verbergen Sie Dateierweiterungen in einem einfachen HTTP-Server

Viele Webserver zeigen Dateierweiterungen in der URL an, was aus ästhetischen Gründen unerwünscht sein kann oder aus Gründen der Benutzererfahrung. Diese Anleitung zeigt, wie Sie die Erweiterung .html vor URLs in einem Go-HTTP-Server verbergen.

Lösung

Die Implementierung von http.FileSystem mit http.Dir bietet mehrere Vorteile, darunter Nutzung des robusten Codes in http.FileServer. Zur Implementierung dieser Funktionalität kann eine benutzerdefinierte HTMLDir-Struktur erstellt werden.

Implementierung

Die Implementierung von Open hängt vom gewünschten Verhalten ab. Nachfolgend werden drei Szenarien dargestellt:

Option 1: Immer .html anhängen

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    return d.d.Open(name + ".html")
}</code>
Nach dem Login kopieren

Option 2: Fallback auf .html

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    f, err := d.d.Open(name)
    if os.IsNotExist(err) {
        if f, err := d.d.Open(name + ".html"); err == nil {
            return f, nil
        }
    }
    return f, err
}</code>
Nach dem Login kopieren

Option 3: Beginnen Sie mit .html und Fallback

<code class="go">func (d HTMLDir) Open(name string) (http.File, error) {
    f, err := d.d.Open(name + ".html")
    if os.IsNotExist(err) {
        if f, err := d.d.Open(name); err == nil {
            return f, nil
        }
    }
    return f, err
}</code>
Nach dem Login kopieren

Durch die Verwendung von HTMLDir mit http.StripPrefix kann die Erweiterung .html beim Bereitstellen von Dateien effektiv verborgen werden das angegebene Verzeichnis. Diese Technik sorgt für ein nahtloseres und ästhetisch ansprechenderes Benutzererlebnis und ermöglicht gleichzeitig den Zugriff auf die beabsichtigten Inhalte.

Das obige ist der detaillierte Inhalt vonWie verstecke ich HTML-Dateierweiterungen vor URLs in einem Go-HTTP-Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!