Forum: PC Hard- und Software Mit .htacces auf Unterornder umleiten


von Kolja L. (kolja82)


Lesenswert?

Ich habe einen Webspace mit folgenden Ordnern:
1
subfolder/  
2
┣ API/  
3
┃ ┣ .htaccess  
4
┃ ┗ index.php  
5
┣ svelte/  
6
┃ ┣ src/  
7
┃ ┗ dist/
8
┃    ┣ index.html
9
┃    ┗ assets/
10
┃       ┗ style.css
11
┗ .htaccess

Jetzt möchte ich folgendes mit Hilfe der .htacces im subfolder 
erreichen:

1. beim Aufruf der domain example.com/subfolder wird die index.html aus 
dem Ordner svelte/dist/ geladen, ohne dass sich die URL im Browser 
ändert
2. in der index.html werden die assets leider absolut aufgerufen: 
hr-keinSpam-ef="/assets/style.css", daher müssen auch Anfragen an die 
.css und .js Dateien von der .htaccess entsprechend umgeleitet werden.
3. Anfragen an example.com/subfolder/API/foo sollen davon nicht 
betroffen sein.

Punkt 1 schaffe ich hiermit:
1
RewriteRule ^(/.*)?$ svelte/dist$1 [L,NC]

Warum Punkt 2 nicht äquivalent funktioniert verstehe ich nicht:
1
RewriteRule ^css/(.+\.css)$ svelte/dist/$1 [L,NC]
2
RewriteRule ^js/(.+\.js)$ svelte/dist/$1 [L,NC]
Zu Punkt 3 habe ich noch keine Idee.

von Εrnst B. (ernst)


Lesenswert?

Punkt2:
RewriteRule ^/css/(.+\.css)$ svelte/dist/assets/$1 [L,NC]

(angenommen du willst /css/xxx.css auf svelte/dist/assets/xxx.css 
umleiten.

falls es svelte/dist/assets/css/xxx.css ist, entsprechend einfügen.

Punkt3:
Mit "RewriteCond" kannst du nachfolgende RewriteRules abschalten, also 
/API ausnehmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.