[PHP] .htaccess RewriteOn und keine CSS Style

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Nemesis Force, 16. August 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. August 2009
    .htaccess RewriteOn und keine CSS Style

    Hi,
    ich habe nun schon seit Tagen ein riesen Problem, finde aber keine Lösung. Ich will dynamische Links in statische umwandeln, dass klappt auch alles wunderbar, also aus:

    Code:
    profile/user.php?id=mustermann
    wird

    Code:
    profile/mustermann/
    Allerdings wird dann auf dieser Seite der Stylesheet nicht geladen, da ja der Webbrowser den Pfad aus der Adresszeile nimmt.

    Der Stylesheet liegt in "css/style.css" und ich gebe ihm im Dokument wie folgt an:

    Code:
    <link rel="stylesheet" href="../css/style.css" type="text/css" />
    Ist ja logisch das der nicht geladen wird, da es ja keinen CSS-Ordner in "Profile" gibt. Wie geb ich jetzt aber den richtigen Pfad an? In der .htaccess mit RewriteBase?

    ~edit: Wenn ich den Trail Slash hinter der Adresse weglasse, wird der Stylesheet geladen.

    Bitte um Hilfe, ich find einfach keine Lösung.

    Danke!
     
  2. 16. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Probier es mal mit dem BASE-Tag
     
  3. 16. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    oder mit nem absoluten pfad bzw ner http-url
     
  4. 16. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Hab es gelöst, hab eine PHP Datei erstellt die in jeder Unterseite includiert wird und je einen String zu dem absoluten Pfad enthält, dieser wird eingebunden. (einmal für normale Links, Bilder und Styles und einmal für die anderen PHP-Dateien die includiert werden, klappt alles super)

    Jetzt gibts aber ein weiteres Problem.

    hier:
    Code:
    RewriteRule ^profile/(.*)/$ profile/user.php?sid=$1 [QSA]
    RewriteRule ^profile/edit/(.*)/$ profile/edit.php?sid=$1 [QSA]
    
    Wenn ich das Profil bearbeiten will, soll er auf die Domain "profile/edit.php?sid=$1" gehen - funktioniert aber nicht - er loggt sich aus, weil die Seite angeblich nicht existiert. Es liegt wahrscheinlich an den Parametern, denn wenn ich das so schreibe:
    Code:
    RewriteRule ^profile/(.*)/$ profile/user.php?sid=$1 [QSA]
    RewriteRule ^edit/(.*)/$ profile/edit.php?sid=$1 [QSA]
    
    funktioniert es wie gewollt - was mach ich denn falsch? Ich seh bei diesem HTACCESS nich durch
     
  5. 17. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Dreh mal die htaccess anweisungen um:

    Code:
    RewriteRule ^profile/edit/(.*)/$ profile/edit.php?sid=$1 [QSA]
    RewriteRule ^profile/(.*)/$ profile/user.php?sid=$1 [QSA]
    
    So sollte es klappen.

    Warum: Htaccess nimmt immer die erste Anweisung und nicht die letzte. Das bedeutet, dass er aus /profile/edit ein user.php?sid=edit macht. Er weiß ja nicht, dass dahinter noch eine spezifischere Abfrage folgt, in der profile/edit eine eigene Regel hat
     
  6. 17. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Mh, der Ansatz war korrekt, er macht keinen Fehler aber er ruft die Seite nicht auf Er zeigt die Seite zwar korrekt in der Adresszeile an, aber er befindet sich immernoch auf der gleichen Seite

    Code:
    RewriteRule ^profile/edit/(.*)/$ profile/edit.php?sid=$1 [QSA]
    RewriteRule ^profile/(.*)/$ profile/user.php?sid=$1 [QSA]
     
  7. 17. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    ruf mal deine sid auf

    echo $_GET['sid'];

    wenn die sid stimmt, dann hast du in php einen fehler.
     
  8. 18. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Die SID muss vorhanden sein, ansonsten würde ich auf der Startseite landen, denn dann loggt er sich aus, aber er bleibt ja im System.
     
  9. 18. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    In welcher PHP ist er und wie ist die SID. Ruf doch beides mal auf. Anders kann man das Problem nicht nachvollziehen. Also ich zumindest nicht
     
  10. 18. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Er ist in diesem Pfad:
    Code:
    profile/user.php?sid=mustermann
    und wenn ich den Pfad direkt aufrufe (also so in die Adresszeile eingebe):
    Code:
    profile/edit.php?sid=mustermann
    ist er auf der richtigen Seite, also es muss was mit der Weiterleitung zu tun haben...
     
  11. 18. August 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: .htaccess RewriteOn und keine CSS Style

    was gibt er den aus, wenn du

    echo $_GET['sid'];

    ausführst?

    url
    profile/edit/mustermann/
    profile/mustermann/

    dazu würd ich mal $_SERVER['PHP_SELF'] ausführen, um zu erfahren welche php datei er nimmt.

    // eidt
    und wie das funktioniert
    No File | xup.in

    mußt du noch anpassen
    PHP:
    RewriteBase  / _ / rr /
    also, dein fehler liegt wohl bei php
     
  12. 18. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Wenn ich
    Code:
    echo $_GET['sid'];
    ausführe, dann git er mir "mustermann" aus... aber er ist nicht auf der richtigen Seite, das hat nichts mi dem PHP zu tun, die Seiten funktionieren ohne der htaccess einwandfrei, ohne Probleme, es liegt definitiv an der htaccess... kann es sein das ich den
    Code:
    RewriteBase /
    nicht drin hab?
     
  13. 18. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    das muß natürlich stimmen
    PHP:
    RewriteBase  /
    dieser pfad heißt root
    wenn du in localhost bist, dann könnte ich mir vorstellen das du unterordner hast
    z.b. http://localhost/projekt

    dann
    PHP:
    RewriteBase  / projekt /
    bei mir lag es bei http://localhost/_/rr
     
  14. 19. August 2009
    AW: .htaccess RewriteOn und keine CSS Style

    Ich hau mich gleich weg... hab mir dein Code jetzt mal angeschaut und den RewriteBase in die htaccess geschrieben, funktioniert nicht, aber weisste wieso es bei dir funktioniert? Nein? Ich will nicht den Ordner

    Code:
    edit/mustermann/
    Ich will in DEN:

    Code:
    profile/edit/mustermann/
    Weisst du wie ich das meine? :]

    EDIT: Ich hab es endlich geschafft!!!!! Weisst wo der Fehler war? Also erstmal das mit dem RewriteBase war korrekt und jetzt kommts:

    Code:
    RewriteRule ^profile/edit/(.*)/$ profile/edit.php?sid=$1 [QSA,L]
    ~closed
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.