Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> .htaccess Reguły RewriteRule, przyjazne linki pytanie ?
jarekhunter
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


Witam wszystkich.

Mam napisany plik .htaccess

Wszystko było by ok ale mam 2 podobne sytuacje i nie wiem jak negować wystąpienie jakiegoś słowa, dla przykładu..
  1. RewriteRule ^str/([0-9a-z-]+)/$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]
  2. RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+)/([0-9]+)/$ index.php?mod=k&n=$1&p=$2&s=$3 [L]


Jak widzicie mam 2 podobne linki.
By wyświetlić stronę mam link np. taki
str/testowa/

Ale gdy ktoś dopisze na końcu
str/testowa/2/
ładuje mi się już dział kategorii.

Jak w wyrażeniu postawić warunek że jeśli różna od np. str wtedy sprawdza dopiero questionmark.gif

Siedzę już nad tym kilka godzin i nawet google nie pomaga sad.gif
Dziękuję serdecznie za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
l3l0
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 16
Dołączył: 24.07.2009
Skąd: Gdańsk

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


A nie można jakoś tak:

  1. RewriteRule ^str/([0-9a-z-]+)/$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]
  2. RewriteRule ^str/([0-9a-z-]+)/([0-9]+)/$ index.php?mod=str&nazwa=strona&nazwa=$1&id=$2 [L]
  3. RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+)/([0-9]+)/$ index.php?mod=k&n=$1&p=$2&s=$3 [L]


albo

  1. RewriteRule ^str/([0-9a-z-]+)/$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]
  2. RewriteRule ^str/([0-9a-z-]+)/.+$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]
  3. RewriteRule ^([0-9a-z-]+)/([0-9a-z-]+)/([0-9]+)/$ index.php?mod=k&n=$1&p=$2&s=$3 [L]


Ten post edytował l3l0 30.01.2010, 15:10:47
Go to the top of the page
+Quote Post
jarekhunter
post
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


Wykorzystałem tą regułę .
  1. RewriteRule ^str/([0-9a-z-]+)/.+$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]


Pomogła tyle że mam na końcu daną wartość którą prowadziłem. nie można było zrobić tego jakoś tak żeby nie przyjmował tej wartości questionmark.gif
np. w kategorii dać negacje czy coś w tym stylu, a gdy nie znajdzie mi danej strony, to wyświetli się strona błędu obsłużona przez mój cms.

Czy istnieje taka możliwość questionmark.gif
Chciałbym by nie można było dopisywać śmieci na końcu ponieważ można zrobić coś takiego.
str/testowa/xxx/

i w moim przypadku będzie to znaczyło co str/testowa/ ale jednak widnieje w linku nazwa której mój skrypt nie sprawdza, chce by takiej możliwości nie było..

Napisz mi jeszcze co oznacza .+$
. = znak specjalny, czyli jeśli się nie mylę wymagana jakaś nazwa ? dobrze myślę questionmark.gif
Go to the top of the page
+Quote Post
Rude Dude
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 23.07.2007

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


Aby nie przyjmowało ci tego xxx/ na końcu musisz usunąć .+ (. oznacza dowolny znak a + że ma występować co najmniej raz lub więcej dlatego przyjmuje ci to xxx/)

Powinno być tak:
Kod
RewriteRule ^str/([0-9a-z-]+)/$ index.php?mod=str&nazwa=strona&nazwa=$1 [L]


Ten post edytował Rude Dude 10.02.2010, 17:19:48
Go to the top of the page
+Quote Post
jarekhunter
post
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 21.01.2010

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


O to mi chodziło.

Dziękuję daję +
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: 22.08.2025 - 04:37