Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z regułką w htaccess
masterix
post 11.07.2008, 12:57:20
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


Witam,

Mam problem z taką regułką:
  1. <?php
  2. RewriteRule ^review.php?op=review&co_ID=([0-9]+) / [R=301,L]
  3. ?>
Ten nawaias tu niepotrzebny, jest on potrzebny w bardziej rozbudowanej wersji tego przekierowania ale tu go zostawiłem.

I ma to dopasować się do:
  1. review.php?op=review&co_ID=2


No i niestety za żadne skarby przekierowanie nie zachodzi. Próbowałem zamienić środkową część na .* ale to nie pomogło. Co jest nie tak?

pzdr.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
zukowskp
post 11.07.2008, 15:49:14
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 8.07.2008

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


Kod
RewriteRule ^review.php?op=review&co_ID=([0-9]+) /$1 [R=301,L]


panalem tak bez sensu :S

zamiast ([0-9]+) lepiej (.*)
choc nie do konca rozumiem zasade dzialania tego przekierowania winksmiley.jpg

Ten post edytował zukowskp 11.07.2008, 15:59:24
Go to the top of the page
+Quote Post
masterix
post 11.07.2008, 16:59:02
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


To nie działa. A ([0-9]+) musi zostać bo tam musi być liczba.

pzdr.
Go to the top of the page
+Quote Post
zukowskp
post 11.07.2008, 18:36:14
Post #4





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 8.07.2008

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


wcale nie musi byc, (.*) - to jest dowolny ciag znakow jakimi chcemy przypisac zmienne w linku

napisz dokladnie co ma robic to przekierowanie to bedzie latwiej je napisac.

pzdr
Go to the top of the page
+Quote Post
masterix
post 11.07.2008, 23:35:11
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 7.09.2004

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


No właśnie .* to dowolny ciąg znaków a po co mam akceptować literki jak chcę liczbę? Zasada ograniczonego zaufania obowiązuje winksmiley.jpg

Chcę zrobić przekierowanie 301 ze starego stylu adresów ( stary skrypt ) na nowe adresy. No i ten konkretny przypadek mi nie działa.

pzdr.
Go to the top of the page
+Quote Post
zukowskp
post 13.07.2008, 21:36:16
Post #6





Grupa: Zarejestrowani
Postów: 23
Pomógł: 3
Dołączył: 8.07.2008

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


moze tutaj uda Ci sie znalesc odpowiedz:
hxxp://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/
Go to the top of the page
+Quote Post
_bolek_
post 13.07.2008, 23:38:39
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 13.07.2008

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


przydalo by sie jak bys podal jaki ma byc wynik dzialania, jesli chcesz wiedziec o co mi chodzi ro prosze:czy klient ma w adresie miec np.:

Kod
http://www.example.pl/1
http://www.example.pl/2


czy tez inaczej questionmark.gif

poza tym ... nie ta kolejnosc wywolan, wpierw podajesz wynik a potem schemat ukrytego wywolania, mysle ze jak wstawisz :

Kod
RewriteEngine on
RewriteRule ^review_([0-9]+)\.htm?$     /review.php?op=review&co_ID=$1   [R=301,L]


w razie czego zmien "\." na "."

takie wywolanie powinno dzialac bez problemu, jak cos to polecam dokumentacje mod_rewrite, a i niezapomnij sprawdzic czy pracujesz na serwerze z apache czy litehttpd bo lite ni obsluguje plikow htaccess :/

przydatne linki:

http://home.pl/pomoc/2358

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Cytat(zukowskp @ 11.07.2008, 16:49:14 ) *
<BR>
Kod
RewriteRule ^review.php?op=review&co_ID=([0-9]+) /$1 [R=301,L]


panalem tak bez sensu :S

zamiast ([0-9]+) lepiej (.*)
choc nie do konca rozumiem zasade dzialania tego przekierowania winksmiley.jpg



wiesz jest jeden manual ktory wyjasnia te roznice (home.pl)


a tak po krutce ro R=301 oznacza tu to samo co R=301 w poleceniu php header czyli przekierowanie w trybie natychmiastowym pod podany dany adres. a L ze rewrite ma ignorowac wszytkie inne wywolania REWRITERULE po nim wystepujace.

poza tym to tak jak bys zapytal jaki jest sens uzywania w preg_much albo eregi wyrazenia ograniczajacego do [0-9] przeciez (.*) tez moze byc ... ale bedzie blednie przetwarzac ciag smile.gif

Ten post edytował _bolek_ 13.07.2008, 23:39:25
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.08.2025 - 03:20