2009-06-25 4 views
0

Ich denke, ich verstehe RewriteBase nicht. Ich habe eine (drupal) Seite auf meinem Dev-Server gebaut und alles funktioniert perfekt. Ich habe eine falsche URL dafür in meiner eigenen Apache- und Hosts-Datei erstellt, also komme ich zu meiner lokalen Version mit "local-examplesite.com".Wie verwende ich RewriteBase in .htaccess, um Img-Tags neu zu schreiben?

Schließlich wird es auf www.examplesite.com leben, aber ich möchte einen Entwurf mit einer Temp URL bei meinem Hosting-Unternehmen wie folgt aufstellen: 123.45.67.89/~examplesite. Ich habe die RewriteBase in .htaccess auf/~ examplesite gesetzt.

Alle Seiten funktionieren gut, und alle Navigationslinks gehen an die richtigen Stellen. Aber keines meiner Bilder funktioniert! Sie haben das Format src = "/ sites/default/images/blah.png" und die Tags werden als src = "http://123.45.67.89/sites/default/images/blah.png" gerendert. anstelle von src = "http://123.45.67.89/ ~ Beispielseite /sites/default/images/blah.png".

Gibt es eine Möglichkeit, die Website auf richtige Bilder zu zeigen? Ich dachte, das ist, was rewritebase war, aber nachdem ich etwas gelesen habe, denke ich, dass es nur für URLs ist (diejenigen, die umgeschrieben werden, natch).

Antwort

1

Ich kämpfte selbst damit, bis ich auf die Erkenntnis kam, dass mein Verständnis der Rewrite-Regeln falsch war. Rewrite-Regeln dienen nur zum Umschreiben von URLs. Apache wendet sie nicht auf den Inhalt von HTTP-Anfragen an. Das Tag befindet sich in der HTTP-Anfrage.

Die Lösung für mein Problem war, ein Shell Sed Skript anzuwenden, um Regex Substitution auf den alten Pfaden durchzuführen.

Verwandte Themen