Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][.htaccess]odczyt linku url do zmiennej get
Forum PHP.pl > Forum > Przedszkole
MikroUser
Witam,

link

http://localhost/news/?search_title=szukan...a&aktywny=1

jaki htaccess musi być aby to odczytać do:
index.php?c=news&seach_title=szukanafraza&aktywny=1

stosuję coś takiego, ale nic mi się nie udaje.

  1. RewriteRule ^([a-z0-9]+)/(search)?(.*)/?$ /index.php?c=$1&q=$3 [NC]


przeszukałem forum, ale nie mogę znaleźć podobnego przypadku.

dziękuję za pomoc.

niestety nie znalazłem do tej pory rozwiązania.

proszę przynajmniej podpowiedzieć do kogo mogę się zwróć z tym problemem.

Próbowałem już rewriteCond %{REQUEST_URI} ale nadal coś robię źle i nie mogę sobie poradzić z problemem.

Będę bardzo wdzięczny za pomoc.
AlexDeLarge
Cytat(MikroUser @ 10.02.2011, 16:31:46 ) *


Również go witam smile.gif

1. Napisz jaki masz link, a jaki chcesz otrzymać.
2. Sprawdź, czy masz odpowiednio ustawione RewriteBase
3. Czy masz na początku RewriteEngine On
4. Czy w ogóle masz mod_rewrite (httpd.conf)
5. Czy masz AllowOverride ALL w httpd.conf
6. Wiesz, że po kliknięciu "Szukaj" w wyszukiwarce link nie zmieni się nagle na ładny? Będzie taki sam jak wcześniej, chodzi o to, że do zawartości możesz się dostać dwoma sposobami, np. search.php?q=fraza i, korzystając z mod_rewrite, search/fraza, ale żeby użyć tego drugiego przypadku musiałbyś podejść w odpowiedni sposób do sprawy smile.gif

Nota bene, może ktoś odpowiedziałby Ci szybciej, gdybyś poprawnie nazwał temat. Myślałem, że będzie coś o odczycie danych z bazy Microsoft Access.

Zdrówka życzę.
MikroUser
formularz.
  1.  
  2. <form action="/element/100/" method="get">
  3. <input type="text" name="q" />
  4. <input type="submit" value="Szukaj" name="searching" />
  5. </form>
  6.  


po kliknięciu 'Szukaj' pojawia się:
  1. /element/100/?q=test&searching=Szukaj


.htaccess
  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_FILENAME} -s [OR]
  4. RewriteCond %{REQUEST_FILENAME} -l [OR]
  5. RewriteCond %{REQUEST_FILENAME} -d
  6. RewriteRule ^.*$ - [NC,L]
  7.  
  8. RewriteRule ^element/([a-z0-9]+)/?$ /index.php?element=$1[NC]


potrzebuję poprawnie napisać regułę która mi do tablicy GET przekażę:
  1. $_GET['element'] = 100
  2. $_GET['q'] = 'test'
  3. $_GET['searching'] = 'Szukaj'


link nie musi być ładny.

co do tematu, to masz rację, 'dałem ciała'.



AlexDeLarge
Hm, nie jestem pewien, ale mod_rewrite "oddziela" chyba query string (?aaa=bbb&xxx=yyy) od "ścieżki". Tak więc spróbuj może:
Kod
RewriteRule ^element/([a-z0-9]+)/ /index.php?element=$1


Bez "$" na końcu, bo on jakby oznacza, że nic więcej być tam nie może. Parametry, które są GET tak czy siak powinien skrypt dostać, natomiast Ty rewritem dodasz tylko $_GET['element']. Aha i "?" to znak specjalny w wyrażeniach regularnych, więc trzeba go escape'ować.

Nie daję gwarancji, ale tu bym szukał smile.gif
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.