Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przyjazne adresy dla wyszukiwarki wewnętrznej
Forum PHP.pl > Forum > Przedszkole
Octobus
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
Sephirus
Witaj 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 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ć smile.gif
Po odpaleniu formularza powinno przekierować na "przyjazny" adres wink.gif
Octobus
Dzieki za odpowiedź ale niestety ten rewrite nie dziala sad.gif nadal mam normalne adresy, nie przepisane ;/
Sephirus
Wrzuć tu swój .htaccess z tymi linijkami wink.gif
Octobus
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]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.