Beiträge von philipp-schoene

    Es ist ja nicht so dass ich mit mit mod_rewrite noch nicht beschäftigt habe. Aber ich kam nicht zu dem gewünschten Ergebnis. Und vielleicht war ich zu sehr auf das Ergebnis fixiert, dass ich Alternativlösungen erst nicht zulassen wollte. Das ist die Kehrseite, wenn man nicht offen an eine Sache herangeht.

    Stef Darum geht es ja, wenn ich nicht weiß was an Info benötigt wird, da ich in dem Thema keine Erfahrung habe, kann ich nicht riechen, was ich an Infos liefern soll.


    Ich habe mit explode den String zerlegt und leere Strings sowie mein Entwicklungsverzeichnis (was ich nur auf dem lokalen Server habe) herausgefiltert. Nun hätte ich, das Element 0 als 1. Ebene, Element 1 als 2. Ebene usw.

    Bisher ist es so, dass für jede Seite eine PHP-Datei inkludiert wird um die Seite etwas aufzuteilen. Ich könne nun die Anzahl der Elemente feststellen. Ist diese eins gibt es keine Unterseiten, und ich rufe die Seite auf. Ist diese >1 könnte ich alle Unterelemente an die Seite übergeben.

    Was hast du denn jetzt hier verloren?

    m.scatello: Deine Art ist auch nicht besser und wenn ihr es nötig habt, euch zu verbünden, ist das traurig. Ich habe keine Lust dass es hier zu einem öffentlichen Streit auszutragen.

    Um das Thema mal wieder auf die sachliche Ebene zurückzubringen:

    An welcher Stelle bin ich denn Infos schuldig?

    Wie ihr sicherlich gemerkt hat, ist das Thema URL-Umschreibung recht neu für mich. Es ist immer noch ein Hobby, welchen ich ab und an nachgehe.

    Ich werte inzwischen zumindest die erste Ebene des REQUEST_URIaus. Nun überlege ich, wie das aus mehrere Ebenen machen muss. Da ich die URL-Parameter bisher auch an verschiedenen Stellen auswerte, muss ich das jetzt nach meinem Kenntnisstand zentralisieren. Soviel zum aktuellen Stand.

    Den letzten Absatz hättest du dir sparen können. Wenn dir Infos fehlen, dann frag strukturiert danach. Woher soll ich wissen, was du wissen musst. Meine Glaskugel ist leider kaputt. Und Romane hier zu schreiben bringt auch nichts, da es niemand liest.

    Ich habe mir nun einen Workarround gebaut, der das HTML-Base an den Server anpasst. Wenn ich die Rewritebase in der htaccess weglasse geht es bis jetzt auch.

    Mir war der Umgang des Webservers mit ist sag mal "virtuellen" Pfaden umgeht. Also Pfade, die es nicht real gibt.

    Wie würdest du die denn eine Entwicklungsumgebung bauen, wenn du mehrere Projekte hast? meinst du domain- oder portbasierte Vhosts?

    Natürlich liegt die .htaccess auf beiden Servern. Der Unterschied ist dass beim lokalen Webserver noch ein Unterverzeichnis dazwischen ist. Oben das Verzeichnis "projektname". Dieses besteht auf dem Webserver natürlich nicht. Problem ist nach meiner Meinung die RewriteBase.

    Ich habe mich nun entschieden, das nach deinem Vorschlag zu lösen. Dabei kam folgende Frage auf:

    Kann ich die beiden Szenarien automatisch auseinander halten, oder muss ich zwei .htaccess-Dateien (lokal, Webserver) nutzen?

    Zunächst: ich habe versucht hier keinen Streit aufkommen zu lassen. Vielleicht reden wir auch aneinander vorbei.

    Daher clr scr und nun von vorn:
    Ich habe deine Lösung bei mir nicht zum laufen bekommen. Daher ist die Frage für mich noch nicht gelöst.


    Ich habe mal geguckt, wie es Woltlab (dieses Forum) macht. Das habe ich dann auf mein Keyword angepasst und funktioniert auch.

    Apache Configuration: .htaccess
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?seite=$1 [L,QSA]

    Nach dem Motto "vom Leichten zum Schweren" konnen nun weiter gucken.

    nur du deinem example.com/irgendwas/nochwas du leitest alles auf die index.php weiter. Wo wertest du das dann aus dass du an irgendwas und nochwas kommst? Dazu habe ich keinen Code hier gesehen. Oder überlesen???

    Es gibt wie so oft im Leben auch mehrere Lösungen zum Ziel. Daher muss deine Lösung auch nicht die einzig wahre Lösung sein. Aber genau so stellst du diese hier hin.

    Schon einmal darüber nachgedacht, dass mir eine Ebene in der Tiefe reicht? Die Seitenstruktur, die ich habe, läuft bei mir schon viele Jahre. Wie immer beim Programmieren werden die Projekte immer weiter entwickelt. Die sind nicht in Stein gemeißelt. Daher kann ich durchaus eine htaccess später nocheinmal ändern.


    Eigentlich spielt es keine Rolle, da nur die Frage war, wie ich die Adressen umschreibe. Die dynamischen Adresse nutzte ich schon lange. Auch dass die index.php den Inhalt lädt, der per Parameter angefordert wird.

    In $_GET steht alles drin, was ich brauche: Diese Seite wo es hingehen soll. Wie gesagt, die Struktur ist schon viele Jahre bei mir so und ist auch erweiterbar. In $_SERVER['REQUEST_URI']  steht zusätzlich noch der Dateiname also in meinen Fall index.php . Die Information ist an der Stelle unnötig. Daher reicht $_GET Den Hinweis mit den nicht existierenden Verzeichnissen und Datein nehme ich auf.

    Mir ist nicht schlüssig, wieso ich bei der Linkumschreibung auch noch meinen PHP anpassen soll, wenn es die Linkumschreibung alleine kann. Was mir hier fehlt ist die richtige Syntax. Da es für bestehen Projekte sein soll, möchte ich erst einmal nicht in der PHP Änderungen vornehmen. Einzig die Link-Tags müssten angepasst werden.


    Nun eine konkrete Frage zum Post #1:

    Wenn ich ein Unterverzeichnis habe passt das mit RewriteBase /nicht mehr. Muss ich für jede Umgebung eine eigene htaccess haben? Oder kann man durch die Regeln nicht automatisch eine Datei auf beiden Umgebung benutzen?

    Ich finde nicht, dassdas System unflexibel wird. Alles was nach der Domain ist, kann als Paramter der index.php genutzt werden. Und ich bin einmal in htaccess und muss nicht mit einer Mischung aus beiden Arbeiten.
    Egal ist es mir nicht. Denn ich habe auch gefragt, wieso mein RewriteBase nicht funktioniert. Was ich gefunden habe, dient lediglich als Zwischenstand, um die Leser auf den aktuellen Stand zu bringen wo ich mich gedanklich befinde.

    Ich habe eine Lösung mit

    Apache Configuration: .htaccess
    RewriteEngine On
    RewriteRule ^([a-zA-Z0-9]+)$ %{SCRIPT_URL}?seite=$1 [L]

    gefunden.

    Vom logischen meine ich auch dass RewriteBase / helfen sollte.Aber die Praxis ist leider anders. Aber wieso?

    ch möchte Link Umschreibungen für ein eigenes Projekt erstellen. Folgende Bedingungen liegen vor:


    Szenario lokaler Webserver:

    localhost/projektname/index.php?seite=irgendwas

    Ziel: localhost/projektname/irgendwas


    Szenario Webserver

    example.com/index.php?seite=irgendwas

    Ziel: example.com/irgendwas


    Also mein Problem ist, dass es ein Unterverzeichnis mehr gibt. Also soll die RewriteRule(s) unabhängig von eventuellen Unterverzeichnissen sein.


    Auf dem lokalen Server habe ich bis jetzt folgende Regeln die aber nur mit dem lokalen Unterordner funktioniert:


    Code: .htaccess

    1. RewriteEngine On
    2. RewriteRule ^([a-zA-Z0-9]+)$ /projektname/index.php?seite=$1 [L]