.htaccess url rewrite - grafiken & styles fehlen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeige
aufruf
base
beschreibung
bild
code
dateiname
fehlen
grafik
http
image
index
kompletten pfad
ordner
page
parameter
produkt
produktname
tag
url
-
Hi
Ich möcte meine URL etwas anpassen und habe mittlerweile auch etwas funktionierendes zusammengebastelt.
.htaccess
RewriteEngine on RewriteRule ^product/([a-zA-Z0-9_-]+)/(.*)\.html$ index.php?page=product&id=$1&mod=$2 [L] RewriteRule ^(.*).html$ index.php?page=$1 [L]
in der tag/index">index.php unterscheide ich nach $_GET['page'] welche Seite ich reinlade.
http://localhost/folderxyz/home.html leitet mich also auf die Seite http://localhost/folderxyz/index.php?page=home. In die Index.php lade ich mit diesem Parameter nun die entsprechende Seite rein. DAs läuft problemlos. Bei Producten möchte ich es aber erweitern, dh einen Ordner simulieren ('Produkte') und einen weiteren mit dem Produktnamen bzw der id oder sowas - zB. ('Laptop'). Der Dateiname ist dann die Anzeige: beschreibung.html für Beschreibung. DAs klappt auch halbwegs, also page, id und mod werden richtig ausgegeben, nur fehlen jetzt alle Grafiken und stylesheets. Was muss ich machen um die auch reinzubekommen?
Vielen Dank & MFG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
programtools schrieb:
Der Dateiname ist dann die Anzeige: beschreibung.html für Beschreibung. DAs klappt auch halbwegs, also page, id und mod werden richtig ausgegeben, nur fehlen jetzt alle Grafiken und stylesheets. Was muss ich machen um die auch reinzubekommen?
Ist ja logisch, denn die Grafiken werden nun von einer anderen URL geladen:
zB ergibt in http://localhost/product/mein-cooles-produkt1.html ein Bild auf "./images/produkte/produkt1.png" folgenden Link => http://localhost/product/images/produkte/produkt1.png aber nicht wie gewollt http://localhost/images/produkte/produkt1.png.
Das kannst du verhindern, indem du bei Verknüpfungen immer den kompletten Pfad anhängst: <img src="http://localhost/images/produkt1.png" ... /> oder einen Base-Tag verwendest:
<html> <head> <base href="http://localhost" /> ... </head> <body> ...
Nun gehen alle Links egal von welcher Seite von dieser "Base", egal in welchem Verzeichnis sich der Aufruf befindet.
-
Super, vielen Dank. Kann man den Base-Tag auch einschränken? also dass er sich zb nur auf Grafiken bezieht?
MFG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage