von subjective |
Du hast hier zwei Themen:
1. einbetten von externem Inhalt per include('http://') - hier solltest du readfile() oder file_getcontents() nutzen.
2. Schöne Links. - dazu einfach halt die gewünschten Links im HTML ausgeben und dann in der .htaccess entsprechende Regeln bauen, um sie in die "echten" URLs umzuwandeln. Dazu gibt es Beispiele in der Dokumentation von mod_rewrite. |
von Kim |
Vielen lieben Dank für Deine Antwort.
warum du bei automatisch erstellen Links, welche du nicht dem Benutzer zeigst, |
die automatisch erstellten Links werden bis jetzt ja dem Benutzer gezeigt. Der Benutzer soll ja dann /verzeichnis/land/41-Europa-Deutschland.htm sehen.
Hab gedacht, des gibt sowas wie:
wenn lid=egalwelche Zahl kommt dann umwandeln in region=die ensprechende Region
das gleiche dann mit rig (Region) usw.
Kann ich das mit readfile() oder file_get_contents(). | machen?
Wenn ja, hast Du ein Beispiel für mich?
|
von subjective |
Wenn du in php ein include machst läuft das im Normalfall nicht über den Webserver (sollte es auch tunlichst nicht). PHP bettet direkt den Quellcode der aufgerufenen Datei ein und führt ihn aus. In deinem Fall also die HTML-Ausgabe der entfernten Domain. Falls du so etwas benötigst nutze die Dateifunktionen readfile() oder file_get_contents().
Ich weiß allerdings nicht genau, warum du bei automatisch erstellen Links, welche du nicht dem Benutzer zeigst, mod_rewrite verwenden willst. Mit RewriteRules geht man genau den umgekehrten Weg. Man wandelt einen Link wie /verzeichnis/land/41-Europa-Deutschland.htm in /verzeichnis/index.php?anz=mb&lid=41.
Den ersten Teil erstellt man normal mit PHP und nutzt ihn in der HTML-Ausgabe. Dann ruft der Browser diese URL auf. Auf dem Server greifen die Regeln und wandeln das intern in die "richtige" URL. Wichtig ist natürlich das die Browser-URL eindeutige Informationen enthält, damit man sie umwandeln kann (Dies ist in deinem Beispiel nicht der Fall, daher habe ich "land" eingefügt.) |
von Kim |
Ein Hallo an alle,
leider hab ich im Forum nicht die Lösung meines Problems gefunden und hoffe nun, dass mir jemand helfen kann.
Hier nun mein Problem:
In meiner php Datei steht:
$incfile='http://www.einedomain.xy/datei.php'.
'?kid='.$_GET['kid'].
'&lid='.$_GET['lid'].
'&rid='.$_GET['rid'].
'&oid='.$_GET['oid'].
'&hid='.$_GET['hid'].
'&bid='.$_GET['bid'].
'&anz='.$_GET['anz'].
'&ro='.$_GET['ro'].
'&styp='.$_GET['styp'].
'&srvalue='.$_GET['srvalue'].
'&svalue='.urlencode($_GET['svalue']).
'&pg='.$_GET['pg'].
'&kontinent='.urlencode($_GET['kontinent']).
'&land='.urlencode($_GET['land']).
'®ion='.urlencode($_GET['region']).
'&ort='.urlencode($_GET['ort']).
'&hotel='.urlencode($_GET['hotel']).
'&pid=1234'.
'&url=http:www.irdenwas.xy'.
'&typ=anf'.
'&con=rw:0|ma:1|pi:0|de:2'.$_GET['stravel'];
include($incfile);
die Links werden in etwa so:
www.irgendwas.de/verzeichnis/index.php?anz=mb&lid=41
nun soll aus lid=41 nur das jeweilige Land erscheinen
mein rewriteter Link sieht in dem Fall so aus (oder besser soll dann so aussehen):
www.irgendwas.de/verzeichnis/info-41-Europa-Deutschland.htm
für die Region sieht der bisherige Link so aus:
www.irgendwas.de/verzeichnis/index.php?anz=mb&rid=447
hier soll rid= 447 die region sein bzw. werden
http://www.irgendwas.de/verzeichnis/info-447-Europa-Deutschland-Bayern.htm
Die .htaccess habe ich gemacht und wenn ich die htm Links im Browser aufrufe erscheint auch das richtige Ergebnis.
Ich hab das mal versucht mit str_replace, aber entweder nicht richtig oder es geht ganz anders. Nur ich komme einfach nicht drauf.
Ich hoffe sooooo sehr, dass mir jemand einen Tipp geben kann.
viele Grüße Kim |
|