gulli:board Logo

Anzeige


  Antwort
C@rtman
Mitglied
 
Registrierungsdatum: May 2005
Beiträge: 10
Frage zu mod_rewrite

Hey Leute,
hoffe jemand kennt sich damit aus, ich verliere nämlich langsam die nerven
Ziel der ganzen Aktion ist es eine URL wie "www.domain.de/obst/gelbes-obst/banane.html" rauszubekommen.

Ich habe eine .htaccess in der folgendes steht:
Code:
RewriteEngine on RewriteRule ^([0-9a-zA-Z-,]+)([_]{0,}).html$ index.php?path=$1

In der Index steht das hier ganz oben um den User gleich auf eine bestimmte Seite zu verweisen:
Code:
<?php if($QUERY_STRING == "") { header("Location: ./Startseite.html"); ?>

Und der Content wird so eingebunden:
Code:
<?php if(file_exists("./inc/".$path.".inc.php")) { include("./inc/".$path.".inc.php"); } else { echo '<p style="text-align:center;"><h1>Error!</h1><br />Diese Seite existiert nicht.</p>'; }?>

Das Problem ist jetzt nur, dass ich, sobald ich z.B. "www.domain.de/obst/gelbes-obst.html" offen habe, keinerlei Stylesheets mehr habe.
Heut morgen habe ich gesehen, dass man vor jeglichen Links einfach ein "/" sprich "/obst/gelbes-obst.html" oder "/css/layout.css" setzen kann, nur funktioniert das nicht.
Muss man für das "/" vorweg noch irgendwas in der php.ini oder der httpd.conf umstellen oder aktivieren?

Vielleicht versteht ja jemand mein Problem und kann mir helfen ^^
THX, Cart ^^
Alt 11. 03. 2008, 06:18 C@rtman is offline Mit Zitat antworten #1
homerboomer
Mitglied
 
Benutzerbild von homerboomer
 
Registrierungsdatum: Nov 2005
Beiträge: 48
Re: Frage zu mod_rewrite

das Problem kommt wahrscheinlich daher, dass du deine Webseite nicht im Root hast. Wenn du keinen eigenen Webserver hast, sondern irgendwo Webspace kaufst, von mir aus auch nen V-Root-Server, dann liegt deine Webseite nicht im /. Der / bedeutet hier im obersten Ordner des DocumentRoot, also so, wie der Apache (ich nehme an, es ist der Apache) konfiguriert ist. Du musst den Pfad, denn du vor die css Datei schreibst, so anpassen, dass er wirklich wieder in deinen Ordner zeigt. Lass dir doch spaßeshalber in der PHP-Datei, die du aufrufst einfach mal den aktuellen Ordner anzeigen!
Alt 11. 03. 2008, 09:06 homerboomer is offline Mit Zitat antworten #2
C@rtman
Mitglied
(Threadstarter)
 
Registrierungsdatum: May 2005
Beiträge: 10
Re: Frage zu mod_rewrite

Danke für die schnelle Antwort.

Im großen und ganzen ist das mit dem Webspace richtig .
Apache läuft auch drauf.

Habe mir den Pfad jetzt mal via ...
Code:
<?php print $_SERVER['DOCUMENT_ROOT'].'/css/import.css'; ?>
... ins href des Link-Tags ausgeben lassen.

Jetzt möchte er das Stylesheet aber von "http://web123.domain.de/var/www/web238/html/css/import.css"
statt von
"http://web123.domain.de/css/import.css" holen
Alt 11. 03. 2008, 10:10 C@rtman is offline Mit Zitat antworten #3
Datafreak
quassel-irc.org User
 
Benutzerbild von Datafreak
 
Registrierungsdatum: Sep 2004
Ort: $HOME
Beiträge: 1.362
Re: Frage zu mod_rewrite

Als erstes würde ich die die Rewrite-Rule etwas kürzer schreiben.

Code:
RewriteEngine on RewriteRule ^(.*).html$ index.php?path=$1

Zweites müsste deine PHP-Code dann so aussehen:

PHP-Code:
<?php echo "http://" $_SERVER['HTTP_HOST'] . "/css/import.css"?>

MFG
Datafreak
Alt 11. 03. 2008, 10:25 Datafreak is offline Mit Zitat antworten #4
C@rtman
Mitglied
(Threadstarter)
 
Registrierungsdatum: May 2005
Beiträge: 10
Re: Frage zu mod_rewrite

Ach so ja stimmt.
Das aus der .htaccess waren noch die Überbleibsel, weil ich das vorher mit "," gemacht habe Das hat mich jetzt aber immer mehr gestört, drum wollte ich umsteigen.

Im Beispiel der CSS funktioniert es wunderbar wie du geschrieben hast, allerdings ist das ja das gleiche als würde ich die Domain direkt reinschreiben oder?
Und wenn ich das bei jedem Link machen muss ..... ohwee ^^

Ich muss doch irgendwie ins Stammverzeichnis zurück kommen ohne die gesamte Adresse als Link anzugeben. *grml*
Kann ich das html-Verzeichnis nicht irgendwie Per .htaccess als "root" festlegen, sodass er bei einem "/" vorweg nur bis dahin springt?


\\edit
Oder habe ich jetzt einen Denkfehler? ^^
Alt 11. 03. 2008, 10:48 C@rtman is offline Mit Zitat antworten #5
Datafreak
quassel-irc.org User
 
Benutzerbild von Datafreak
 
Registrierungsdatum: Sep 2004
Ort: $HOME
Beiträge: 1.362
Re: Frage zu mod_rewrite

Mach mal bitte testweise aus
Code:
href="./css/import.css"
ein
Code:
href="/css/import.css"

MFG
Datafreak
Alt 11. 03. 2008, 10:53 Datafreak is offline Mit Zitat antworten #6
C@rtman
Mitglied
(Threadstarter)
 
Registrierungsdatum: May 2005
Beiträge: 10
Re: Frage zu mod_rewrite

Problem gelöst.
Nochmal offiziell DANKE an die mitwirkenden
Alt 11. 03. 2008, 15:06 C@rtman is offline Mit Zitat antworten #7
Themen-Optionen Antwort


Themen-Optionen

Gehe zu



Alle Zeitangaben in UTC +1. Es ist jetzt 16:45 Uhr.
Angetrieben von vBulletin
Copyright ©2000 - 2006, Jelsoft Enterprises Ltd.
neurosis.gullisys.net

Anmelden

Benutzername
Kennwort
© Copyright 2008 gulli.com home | regeln | sitemap | kontakt | impressum | partner | downloads | disclaimer |
Message Boards and Forums Directory