Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne][PHP]$_GET, mod_rewrite, adres url, header(), problem z adresem url
kleszczoscisk
post
Post #1





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

Ostrzeżenie: (0%)
-----


Witam

Mam na stronie formularz wyszukiwania, gdzie przekazuję w zmiennej $_GET['q'] słowo kluczowe.
Na stronie z wynikami mam kod, który tworzy na stałe adresy url wyników wyszukiwania w rodzaju:
Cytat

Problem w tym, że nie umiem utworzyć takiego adresu jak wyżej dla słowa które wyszukuję po raz pierwszy. Tworzy się adres:
Cytat

Domyślam się, ze będzie potrzebne zdefiniowanie nagłówka header() i przekierowanie na już przepisany adres:
Kod
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: http://127.0.0.1/szukaj,'.urlencode($_GET['q']).','.(int)$_GET['str'].'.html');

Niestety otrzymuję komunikat:
Cytat
Nieprawidłowe przekierowanie
Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.
* Problem ten może się pojawić w wyniku zablokowania lub odrzucenia ciasteczek.
Go to the top of the page
+Quote Post
sazian
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


tak raczej nie pójdzie
dlatego że roblisz takie przekierowanie
szukaj.php?q=słowokluczowe&str=1 => szukaj/słowokluczowe,1.html a to przez mod_rewrite jest ponownie przerabiane na szukaj.php?q=słowokluczowe&str=1 i kółeczko się zamyka (IMG:style_emoticons/default/winksmiley.jpg)

spróbuj zmienić w formularzu get ta post i dać przekierowanie z post na przyjazny link
Go to the top of the page
+Quote Post
kleszczoscisk
post
Post #3





Grupa: Zarejestrowani
Postów: 164
Pomógł: 3
Dołączył: 13.12.2007

Ostrzeżenie: (0%)
-----


Dzięki...
Kod
if(isset($_POST['str']) AND isset($_POST['q'])){
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: szukaj,'.urlencode($_POST['q']).','.(int)$_POST['str'].'.html');
$_GET['str'] = $_POST['str'];
$_GET['q'] = $_POST['q'];
}


Tak działa.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:10