Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z GET i mod rewrite
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie,
Mam taki plik .htaccess :
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. #RewriteBase /
  4. RewriteCond %{HTTP_HOST} ^http://127.0.0.1/domena
  5. RewriteRule ^(.*)$ <a href="http://127.0.0.1/domena/$1" target="_blank">http://127.0.0.1/domena/$1</a> [R=301,L]
  6.  
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule ([^,]*),([^,]*).html index.php?gt_id=lista_uzytkownikow&dane=$2&modrw [NC]
  10.  
  11. RewriteCond %{REQUEST_FILENAME} !-f
  12. RewriteCond %{REQUEST_FILENAME} !-d
  13. RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*).html index.php?gt_id=$1&k1=$2&k2=$3&k3=$4&k4=$5&k5=$6&modrw [NC]
  14.  
  15. RewriteCond %{REQUEST_FILENAME} !-f
  16. RewriteCond %{REQUEST_FILENAME} !-d
  17. RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*),([^,]*).html index.php?gt_id=$1&k1=$2&k2=$3&k3=$4&k4=$5&modrw [NC]
  18. RewriteCond %{REQUEST_FILENAME} !-f
  19. RewriteCond %{REQUEST_FILENAME} !-d
  20. RewriteRule ([^,]*),([^,]*),([^,]*),([^,]*).html index.php?gt_id=$1&k1=$2&k2=$3&k3=$4&modrw [NC]
  21. RewriteCond %{REQUEST_FILENAME} !-f
  22. RewriteCond %{REQUEST_FILENAME} !-d
  23. RewriteRule ([^,]*),([^,]*),([^,]*).html index.php?gt_id=$1&k1=$2&k2=$3&modrw [NC]
  24. RewriteCond %{REQUEST_FILENAME} !-f
  25. RewriteCond %{REQUEST_FILENAME} !-d
  26. RewriteRule ([^,]*),([^,]*).html index.php?gt_id=$1&k1=$2&modrw [NC]
  27. RewriteCond %{REQUEST_FILENAME} !-f
  28. RewriteCond %{REQUEST_FILENAME} !-d
  29. RewriteRule ([^,]*).html index.php?gt_id=$1&modrw [NC]


Linki wyglądają tak: domena/admin_edycja.html - czyli oki.

Robię formularz:
  1. <form action="lista_uzytkownikow.html" method="get">
  2. <select name="dane">
  3. <option value="1">op1</option> <option value="2">op2</option> <option value="3">op3</option> <option value="4">op4</option> </select>
  4. <input type="submit">
  5. </form>

po wysłaniu takiego formularza dostaję URL: lista_uzytkownikow.html?dane=1
zamiast: lista_uzytkownikow,1.html

PHP nie widzi zmiennej dane (próbuję wydrukować je za pomocą print_r($_GET)) :/

Wie ktoś może co zrobiłem nie tak? dlaczego w PHP nie widać tych zmiennych?


Z góry dzięki za pomoc,
Northwest
Go to the top of the page
+Quote Post
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Podszkól się w pisaniu .htaccess smile.gif tu masz prosty kurs: http://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/

ps.
"RewriteRule ^(.*)$ <a href="http://127.0.0.1/domena/$1" target="_blank">http://127.0.0.1/domena/$1</a> [R=301,L]"
takie cuś w ogóle działa? - pytam bo nigdy w życiu nie widziałem aby można było podstawiać pod adresy html ...

Ten post edytował CuteOne 3.01.2011, 06:44:20
Go to the top of the page
+Quote Post
kalmaceta
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 24
Dołączył: 4.12.2010

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


pomijając sprawdzanie .htaccess'a, Twoje reguły (te w miarę wyglądające na poprawne) zmieniają przyjazne linki na parametryczne, natomiast formularz wysłany metodą get nie przekazuje do serwera przyjaznego linku tylko parametryczny, więc żadna reguła nie pasuje tutaj. Rozwiązania:

1. [Najlepsza] Zostaw to tak jak jest.
2. [Dobra] Użyj metody post.
3. [Zła] Napisz regułę w .htaccess Redirect [301] dal formularzowego url'a na przyjazny link, i go wyłap. / dodatkowe sprawdzanie łańcucha, dodatkowe żądanie
4. [Bardzo zła] W JS onsubmit buduj na podstawie danych odpowiedni action. / bez JS nie działa


--------------------
kAlmAcetA
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 Aktualny czas: 20.08.2025 - 20:08