Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przyjazne adresy dla wyszukiwarki wewnętrznej
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Witam. Nie wiem jak do tego podejść, chyba nie do końca rozumiem istotę działania htaccess. Mam wyszukiwarkę w serwisie oporatą o POST i była reguła:
Cytat
RewriteRule ^szukaj-([0-9]+).html szukaj.php [L]

zmieniłem ją na get żeby móc skonstrułować przyjazne adresy. Nie wiem jednak jak z adresów "brzydkich" zrobić te "ładniejsze", umiem to zrobić w drugą stronę czyli obsłużyć adresy przyjazne poleceniem:
Cytat
RewriteRule ^szukaj-,([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+).html szukaj.php?type=$1&region=$2&state=$3&priceOn=$4&priceOff=$5&txt=$6&getSearch= [L]

To oczywiście przykładowy adres. Problem w tym jak z adresu który mi się generuje teraz w swojej wyszukiwarce:
Cytat
szukaj.html?type=1&region=3&state=3&priceOn=12&priceOff=13&txt=4&getSearch=

zrobić własnie taki:
Cytat
szukaj-,1,2,3,4,5,6.html
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Witaj (IMG:style_emoticons/default/wink.gif)

Opcje masz dwie:

1. JS - po prostu zrób funkcję i dołącz do formularza. Funkcja musiałaby przejść po wszystkich polach formularza wyszukiwania i podać w window.location.href odpowiedni "przyjazny" ciąg...

2. PHP/htaccess - czyli raczej to czego potrzebujesz (IMG:style_emoticons/default/smile.gif)

Kod
RewriteRule szukaj.php?type=(.+)&region=(.+)&state=(.+)&priceOn=(.+)&priceOff=(.+)&txt=(.+)&getSearch=(.+) szukaj-$1,$2,$3,$4,$5,$6.html [R]


Wystarczy - daj ją PO zamianie w drugą stronę i powinno działać (IMG:style_emoticons/default/smile.gif)
Po odpaleniu formularza powinno przekierować na "przyjazny" adres (IMG:style_emoticons/default/wink.gif)

Ten post edytował Sephirus 30.01.2012, 10:15:52
Go to the top of the page
+Quote Post
Octobus
post
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Dzieki za odpowiedź ale niestety ten rewrite nie dziala (IMG:style_emoticons/default/sad.gif) nadal mam normalne adresy, nie przepisane ;/
Go to the top of the page
+Quote Post
Sephirus
post
Post #4





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Wrzuć tu swój .htaccess z tymi linijkami (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
Octobus
post
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

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


Przykładowy adres:
Cytat
szukaj.php?type=1&region=10&state=14&priceOn=10&priceOff=15&txt=Miasto&getSearch=


.htaccess
Cytat
RewriteEngine On
RewriteRule ^szukaj-(.*)-([^-]+)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*)-([0-9]*).html szukaj.php?type=$3&region=$4&state=$5&priceOn=$6&priceOff=$7&txt=$2&getSearch= [L]
RewriteRule szukaj.php?type=(.+)&region=(.+)&state=(.+)&priceOn=(.+)&priceOff=(.+)&txt=(.+)&getSearch=(.+) szukaj-$1,$2,$3,$4,$5,$6.html [R]


Ten post edytował Octobus 30.01.2012, 12:31:20
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: 2.10.2025 - 17:57