Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne] 2 pytania o rewrite_mode
unnamedly
post 17.03.2013, 12:52:20
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 5.05.2012

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


Witam, mam 2 problemy:

#1: Mam sobie kod:
  1. RewriteRule ^blabla,([^-]+)$ blabla.php?b=$1 [L]
. Wszystko niby ok. Wpisuję blabla,as i to jest równoważne z blabla.php?b=as. A teraz niestety mam więcej parametrów, załóżmy: blabla.php?b=as&cos=2&bla=sgds. Jak to teraz zrobić jedną (max 2 "komendami") w .htaccess, by przekierowywało bez względu na to czy wpisaliśmy jakiś parametr, czy nie.
  1. RewriteRule ^blabla,([^-]+),([^-]+),([^-]+)$ blabla.php?b=$1&cos=$2&bla=$3 [L]

Powyższy kod niby w tym przypadku by zadziałał, ale jeśli bym nie wpisał np. parametru cos, to wyskoczył by mi 404.

#2: Jak zrobić "redirect w drugą stronę". Chodzi mi o to, że mam:
  1. RewriteRule ^costam,(.*)$ costam.php?$1 [R]
i po wpisaniu costam,asg przenosi mnie do costam.php?asg. Ja chcę na odwrót.


Z góry dzięki za pomoc w tych dwóch sprawach.

Ten post edytował unnamedly 17.03.2013, 12:53:17
Go to the top of the page
+Quote Post
Fifi209
post 17.03.2013, 13:51:03
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Zrób tak jak w robią to inni np. we FW smile.gif Wszystko ale to wszystko przekierowuj na index.php a tam już odpowiedni routing, wywoływanie akcji etc.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
unnamedly
post 17.03.2013, 14:25:04
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 5.05.2012

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


Dużo mi to nie mówi biggrin.gif
Go to the top of the page
+Quote Post
Fifi209
post 17.03.2013, 14:48:56
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To zobacz np jak działa kohana smile.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
unnamedly
post 17.03.2013, 19:53:01
Post #5





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 5.05.2012

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


Ok, dzięki, ale zanim ogarnę Frameworki, to minie trochę czasu biggrin.gif Na razie chciałbym to zrobić "ręcznie".
Go to the top of the page
+Quote Post
Fifi209
post 17.03.2013, 19:59:08
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


To "ręcznie" dopisuj kolejne reguły biggrin.gif


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
unnamedly
post 18.03.2013, 22:31:08
Post #7





Grupa: Zarejestrowani
Postów: 90
Pomógł: 0
Dołączył: 5.05.2012

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


ohmy.gif Ale jeśli mam np 3 reguły - oznaczę je (A, B, C), to bym musiał tak zrobić:
- A (RewriteRule ^plik,(.*)$ plik.php?a=$1)
- B (RewriteRule ^plik,(.*)$ plik.php?b=$1)
- C (RewriteRule ^plik,(.*)$ plik.php?c=$1)
- A, B (RewriteRule ^plik,(.*),(.*)$ plik.php?a=$1&b=$2)
- A, C (RewriteRule ^plik,(.*),(.*)$ plik.php?a=$1&c=$2)
- B, C (RewriteRule ^plik,(.*),(.*)$ plik.php?b=$1&c=$2)
- A, B, C (RewriteRule ^plik,(.*),(.*),(.*)$ plik.php?a=$1&b=$2&c=$3)

To są kombinowania na 3 reguły, wyobraź sobie co by było z np. 5 regułami biggrin.gif (ja mam ich max. 8).

Sposób, w którym mod_rewrite by nie zwracał uwagi na to, czy jest jakaś reguła czy nie by załatwił to jedną linijką kodu:
- A, B, C (kod by sam sprawdzał, czy jest samo A, czy jest A i C, czy też wszystkie).
Go to the top of the page
+Quote Post
nospor
post 19.03.2013, 08:00:22
Post #8





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




I dlatego takie rzeczy robi się w php. W .htaccess masz tylko przekierowanie wszystkiego na index.php a całą resztą zajmuje sie ruter w php. Tu masz przykład
http://nospor.pl/ladne-urle.html


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

"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: 30.06.2025 - 21:01