Do serwera przychodzi zapytanie: http://www.mojastrona.pl/index.php?name=PN...pic&p=3860#3860. Po zmianie na phpBB2 taka strona już nie istnieje, więc skrypt php, wyciąga 3860#3860 i konwertuje adres na: http://www.mojastrona.pl/phpbb2/viewtopic.php?p=3860#3860.
W innym wypadku Użytkownicy otrzymają komunikat o braku strony.
Czy macie moze jakiś pomysł na rozwiązanie tego problemu?
Znalazłem taki skrypt,
<?php #usage: $r = new HTTPRequest('http://www.mojastrona.pl/phpbb2/viewtopic.php?p=3860#3860'); class HTTPRequest { var $_fp; // HTTP socket var $_url; // full URL var $_host; // HTTP host var $_protocol; // protocol (HTTP/HTTPS) var $_uri; // request URI var $_port; // port // scan url function _scan_url() { $req = $this->_url; if($pos === false) { } else { $this->_host = $host; $this->_port = ($this->_protocol == 'https') ? 443 : 80; } if($this->_uri == '') $this->_uri = '/'; } // constructor function HTTPRequest($url) { $this->_url = $url; $this->_scan_url(); } // download URL to string function DownloadToString() { $crlf = "\r\n"; // generate request $req = 'GET ' . $this->_uri . ' HTTP/1.0' . $crlf . 'Host: ' . $this->_host . $crlf . $crlf; // fetch // split header and body if($pos === false) return($response); // parse headers foreach($lines as $line) // redirection? { $http = new HTTPRequest($headers['location']); return($http->DownloadToString($http)); } else { return($body); } } } ?>
który wyświetli stronę zdefiniowaną w trzeciej linijce kodu. Wiem, że funkcja parse_url zwraca w tablicy asocjacyjnej wszystkie składowe przetwarzanego URL'a. W tym wypadku składową adresu query - po znaku ? czyli "?name=PNphpBB2&file=viewtopic&p=3860#3860" Niestety nie potrafie połączyć tego wszystkiego razem.
Proszę o pomoc.
Pozdrawiam