Domain ohne Ordnernamen

  • Hallo,


    ist es möglich das ich bei einem Bildaufruf/Dateiaufruf wo das Bild in


    das es auch gleich so funktioniert und ich komme an die Datei die im Ordner /folder/footer2/test.php automatisch hin?


    Gruß

  • Ja, das ist möglich, aber ohne genaue Angabe zu der Umgebung (Betriebssystem? Welcher Webserver?) kann dir nicht ohne Schuss ins Blaue geholfen werden.


    Mit z.B. Apache wäre eine Rewrite-Regel möglich. Aber auch da ist es wichtig zu wissen, ob du es nur bei der einen Datei so willst, oder bei mehreren (mit Ausnahmen) oder gar allen Dateien. Entsprechend würde dann die Rewrite-Regel aussehen.


    Mit PHP geht das natürlich auch, ist aber m.M.n. unnötig, wenn immer nur das selbe Bild angezeigt werden soll. Schreib doch einfach, was du machen möchtest. :)

  • Hallo,


    geht das auch nur mit einer bestimmten Url? Alle anderen URLs die auch auf den Webserver geleitet sollten normal bleiben.


    Habe Betriebssystem Debian, und habe einen Url kürzer der aber nun wenn ich einen Link kürze das so macht weil er im Ordner ../ ist macht er mir die Links so


    die Zahl 22 wurde zufallsgeneriert. Nun möchte ich das ich auch über http://meinedomain.de/22 an die Datei rankomme weiß aber nicht ob das die 22 eine Datei ist oder ob das über die DB läuft.


    Danke

  • Zitat


    Ungetesteter Schnellschuss:

    Apache Configuration
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*\.php)$ /folder/folder2/$1 [L]


    Das als .htaccess in den Hauptordner der Domain legen.


    Die Rewrite Condition prüft, ob es die angeforderte Datei gibt. Gibt es diese nicht wird in den Ordner /folder/folder2/ umgeschrieben. Hierbei bitte beachten, dass AllowOverride FileInfo gesetzt sein muss in der Apache Konfiguration. Und natürlich muss mod_rewrite installiert und aktiviert sein.


    //edit
    Kleiner Tippfehler in der Rule.

  • Hallo,


    Top Danke,
    stimmt das dann so:


    Apache Configuration
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]*\.php)$ /folder/folder2/$1 [L]
    RewriteCond %{HTTP_HOST} !^www.meindomain.de$ [NC]


    .. das mit der Endung ist so, mein Urlkürzer wirft mir ein Link raus aber nur so einen http://domain1.de/ordner1/ordner2/22 jetzt weiß ich aber in wirklichkeit gar nicht welche Endung die 22 hat und ob die überhaupts eine Endung hat, zusätzlich sagt er mir nach dem kürzen noch wie man in die Statistik kommt und zwar so:
    http://domain1.de/ordner1/ordner2/22~s durch dass ~s


    wahrscheinlich hat die Datei keine Endung oder?


    Gruß & Danke

  • Die Condition muss immer über die Rule.
    Also genau zwischen die erste Condition und die Rule.


    Was Du hier brauchst ist noch ein wenig anders. Wenn Du einen Link Kürzer erstellen willst hast Du doch nicht für jeden Link eine eigene Datei. Normal wird das doch dann über einen Parameter gesteuert. Also würde aus /folder/22 /folder/link.php?linkid=22 werden. Oder verstehe ich da gerade was falsch?


    Wenn Du es mit einem Parameter machen willst, muss dir Rule noch angepasst werden:

    Apache Configuration
    RewriteRule ^([0-9]*)~s$ /folder/folder2/linkstats.php?linkid=$1 [L]
    RewriteRule ^([0-9]*)$ /folder/folder2/link.php?linkid=$1 [L]


    So lässt das Rewrite nur noch Zahlen ohne Endung zu und eine Statistik hast Du auch. Bei /22~s ruft er die Datei linkstats.php auf, bei /22 ruft er link.php auf. Und innerhalb der PHP Datei kannst Du dann die entsprechenden Aktionen ausführen wie zum Beispiel eine Weiterleitung ausführen.

  • jetzt funktioniert hab es so nun gemacht:


    Apache Configuration
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www.domain2.de$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([a-z,A-Z,0-9,~s,~q]*)$ /folder/folder2/$1 [L]


    so alles richtig? Weil das mit der bestimmten Domainaufruf geht irgendwie nicht, und kann ich mir hier auch das ([a-z,A-Z,0-9,~s,~q] sparen da müsste doch auch nur ([a-z,A-Z,0-9,~] reichen?




    Gruß & Danke