2016-11-07 3 views
1

Ich wollte dies von Ihnen ausführen, weil ich versuche, eine Apache Mod Rewrite-Regel zu perfektionieren, die funktioniert, aber ich werde verrückt, weil meine Dateipfade brechen.Mod Rewrite Bedingung für Subdomain mit Pass

Im Grunde habe ich eine Mod-Rewrite-Regel zum Umleiten einer Subdomain in ein Unterverzeichnis in meiner Docroot eingerichtet, das eine statische index.html-Datei enthält. Vorhandene Regeln sind wie folgt aufgelistet:

RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/subdirectory/ 
    RewriteRule ^(.*)$ /subdirectory/$1 [PT] 

Die Umleitung funktioniert gut. Was aber passiert, ist, dass meine Bilder brechen. Zum Beispiel: ‚/ Unterverzeichnis/img‘ mit dem folgenden img-Tag, für mich nicht funktioniert:

<img src="img/some-image.png" /> 

gleiche passiert, wenn ich das Bild Wurzel bewegen und versuchen, das Bild zu rufen direkt minus 'img /' Pfad.

Hat meine Weiterleitung etwas damit zu tun? Oder fehlt mir etwas? Ich hatte den Eindruck, dass die Verwendung des Pass Through [PT] -Flags dazu führen würde, dass Asset-Verknüpfungen funktionieren würden.

Jeder Rat wird sehr geschätzt. Danke für Ihre Hilfe!

Mark.

Antwort

0

Problembehebung. Die Regel funktioniert perfekt, es war nur die Positionierung in der .htaccess-Datei. Ich habe es direkt unter dem folgenden verschoben:

Bilder und JS-Assets werden jetzt geladen. Ich fügte auch eine fehlende "L" Flagge hinzu.

Abschlussarbeitscode:

RewriteEngine  On 
    RewriteCond %{HTTP_HOST} ^subdomain\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/subdirectory/ 
    RewriteRule ^(.*)$ /subdirectory/$1 [PT, L] 
0

Dies liegt daran, dass Sie einen relativen URL-Pfad für Ihre Bilder verwenden. Verwenden Sie entweder einen absoluten Pfad mit einem Start/oder fügen Sie den folgenden Basis-Tag in Kopfteil Ihrer Webseite:

<base href="/"> 

Verwandte: Seo Friendly Url css img js not working

+0

Es ist nicht so einfach wie das, ich habe Angst. Obwohl ich es wünsche. Unabhängig davon, welchen Pfad ich verwende, führen die Bilder zu einem 500-Server-Fehler. Ich denke, es hat mehr mit der .htaccess-Datei zu tun. subdomain.mydomain.com/img/some-image.png wird nicht gefunden. –