it-swarm.com.de

Schreiben Sie alle URLs im Unterverzeichnis auf index.html um, damit JavaScript den Pfad verwenden kann

Ich habe einen Teil der Domain example.com/~mypart. In diesem Ordner befindet sich index.html. Wenn ich example.com/~mypart/something besuche, wird der Fehler "Nicht gefunden" angezeigt.

Ich möchte, dass jede Adresse mit einer Zeichenfolge nach example.com/~mypart/ in example.com/~mypart (index.html) umgeschrieben wird und die Zeichenfolge beibehalten wird, damit ich JavaScript in index.html) verwenden kann um diesen String zu bekommen.

4
Reenergy

Dies ist ein Standardmuster für den Front-Controller . Sie können die Anweisung FallbackResource von mod_dir in der Datei .htaccess unter /~mypart/.htaccess verwenden. Zum Beispiel:

FallbackResource /~mypart/index.html

(Wenn /~mypart ein Apache-Webverzeichnis pro Benutzer ist, verwenden Sie einfach /index.html.)

In vielen Beispielen wird mod_rewrite verwendet. Wenn Sie jedoch keine komplexeren Anforderungen zum Umschreiben von URLs haben, ist das oben Genannte ausreichend (und wird empfohlen).

Referenz:
https://httpd.Apache.org/docs/2.4/mod/mod_dir.html#fallbackresource

2
MrWhite

Fügen Sie Ihrer httaccess -Datei Folgendes hinzu:

    # if folder does not exist
    RewriteCond %{REQUEST_FILENAME} !-d
    # if file does not exist
    RewriteCond %{REQUEST_FILENAME} !-f
    # redirect anything to
    RewriteRule ^(.*)$ ~mypart/$1 [L]

Kredit, wo fällig ist

Anschließend können Sie nach dem Laden der Seite den folgenden Javascript-Code verwenden, um die angeforderte Datei abzurufen

    var requestedResource = window.location.href.replace('example.com/~mypart/','');