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ß
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
Klar, mit Rewrite ist so ziemlich alles möglich.
Was müsste ich da wie ändern, oder wie kann ich das machen? Gibt's dazu Howtos? Bzw. welche Datei muss überhaupt bearbeitet werden?
Gruß Danke
Quotehttp://domain.de/folder/folder2/test.php das es auch gleich so funktioniert http://domain.de/test.php
Ungetesteter Schnellschuss:
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,
vielen Dank funktioniert soweit super, nur muss ich jetzt noch die Endung /22(.php) dazuschreiben, geht das auch ohne?
Und wäre es auch möglich, dass nur von http://domain1.de kommende Benutzer so weitergeleitet werden?
Gruß & Danke
Das mit der Endung verstehe ich gerade nicht.
Für die Domain einfach ne weitere RewriteCond auf HTTP_HOST dazu bauen.
Hallo,
Top Danke,
stimmt das dann so:
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:
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:
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
Einwandfrei, Danke.