Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne] Mod Rewrite zamiana query string na ładny url
-Kerry-
post 2.04.2014, 17:08:03
Post #1





Goście







Cześć,

mam problem z zamianą query string na ładny url chcę, żeby po index.php następne dwa miejsca były wartościami odpowiednich zmiennych.

Przykład:

http://hostname/?a=123&b=321

zamiana na

http://hostname/123/321

i w skrypcie index.php dostajemy tablice $_GET[ 'a' => 123, 'b'=>321 ] próbuje zrobić, to tak jak poniżej

  1. RewriteEngine On
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5.  
  6. RewriteCond %{QUERY_STRING} a=(.*)&b=(.*)
  7. RewriteRule ^ %{REQUEST_URI}/%1/%2 [R=301,L]


niestety bez pozytywnych rezultatów w jaki sposób można osiągnąć moje założenia?.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Sephirus
post 3.04.2014, 07:24:29
Post #2





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

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


Jeśli dobrze rozumiem to chcesz przekierowywać adresy typu http://hostname/?a=123&b=321 na http://hostname/123/321

Kombinowałbym w ten sposób:

Kod
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule \?a=([0-9]+)\&b=([0-9]+)  /$1/$2 [R=301,L]


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
nospor
post 3.04.2014, 08:06:51
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No ale to nie do tego sluzą ladne url....

One nie zamieniają
http://hostname/?a=123&b=321
na
http://hostname/123/321

Tylko robią na odwrot
Zamieniają
http://hostname/123/321
na
http://hostname/?a=123&b=321

Wiec panie kolego ty w swoim skrypcie masz generowac takie linki
http://hostname/123/321
I ktos kto bedzie w nie klikal, bedzie "niewidzialnie" przekierowany na
http://hostname/?a=123&b=321
i wowcas wszystko bedzie dzialac jak trza


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Sephirus
post 3.04.2014, 08:10:46
Post #4





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

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


Wydaje mi się, że autorowi chodziło o to aby w razie wejścia na link z "getami" było automatyczne przekierowanie na "ładny" - faktycznie jednak linki w formie z "getami" nie powinny być nigdzie pokazywane.


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
nospor
post 3.04.2014, 08:17:49
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@Sephirus nawet jesli by to zadzialalo, a pewnie nie, to przeciez wowczas by sie zapetlil bo by ciagle przekierowalo z linkow z getami na bez, bo z linkow bez getow na z getami itd...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 14.06.2025 - 08:27