Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][.htaccess]odczyt linku url do zmiennej get
MikroUser
post 10.02.2011, 16:31:46
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

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


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.

Ten post edytował MikroUser 10.02.2011, 17:13:12
Go to the top of the page
+Quote Post
AlexDeLarge
post 10.02.2011, 16:42:37
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


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ę.

Ten post edytował AlexDeLarge 10.02.2011, 16:47:02


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post
MikroUser
post 10.02.2011, 17:08:18
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 5.09.2006

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


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'.



Go to the top of the page
+Quote Post
AlexDeLarge
post 10.02.2011, 20:26:45
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 14
Dołączył: 14.02.2010

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


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

Ten post edytował AlexDeLarge 10.02.2011, 20:27:57


--------------------
Java and PHP developer 2007-2014 :)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:41