Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Problem z mod_rewrite, Kropki w adresie SEO
Plikownik
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 19.01.2006

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


Witam

Mam taką regułkę w pliku .htaccess :
Kod
RewriteRule ^plik-([0-9]+)-download-([a-zA-Z0-9-]+).html$ index.php?page=download&sub_id=$1&plik=$1&rewritedownplik=$3 [L]


i chcę, aby w miejscu ([a-zA-Z0-9-]+) można było wpisać tekst zawierający kropkę, dopiero zaczynam poznawać mod_rewrite i nie wiem jak zmodyfikować ten fragment, aby obsługiwał też kropki


--------------------
Windows XP | Telewizja, Radio
Go to the top of the page
+Quote Post
pawel_
post
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 12.12.2005

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


moze tak :?:
Kod
([a-zA-Z0-9-\.]+)
Go to the top of the page
+Quote Post
Dex1987
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


Sprobuj tak

Kod
([a-zA-Z0-9-.]+)


albo tak

Kod
([a-zA-Z0-9-\.]+)


P.S. Chyba nie dales <?php i ?> w pliku htaccess?
Go to the top of the page
+Quote Post
Plikownik
post
Post #4





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 19.01.2006

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


Cytat(pawel_ @ 2006-02-18 10:02:39)
moze tak :?:
Kod
([a-zA-Z0-9-\.]+)

też tak próbowałem - wyskoczył mi wtedy błąd serwera


--------------------
Windows XP | Telewizja, Radio
Go to the top of the page
+Quote Post
bendi
post
Post #5





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

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


Cytat(Dex1987 @ 2006-02-18 12:04:50)
Sprobuj tak

Kod
([a-zA-Z0-9-.]+)


albo tak

Kod
([a-zA-Z0-9-\.]+)

Jedno i drugie rozwiązanie jest do kitu winksmiley.jpg

2 rzeczy:
- kropka w klasie znakowej nie jest już znakiem specjalnym i nie zastępuje dowolnego znaku więc wcale nie trzeba dla niej stosować jakiś specjalnych zastosowań
- myślnik "-" jak widać określa zakres znaków np. a-z, więc żeby go użyć w klasie znakowej, trzeba wskazać w jaki sposób chcemy z niego korzystać. W tym przypadku chcemy określić, żeby był odczytywany dosłownie, czyli żeby regułka pozwalała na myślinki w adresie więc musi być \- no chyba, że będzie on na końcu wtedy nie trzeba, ale napewo nie zaszkodzi

Kod
([a-zA-Z0-9\-.]+)


Co do samego mod_rewrite zamiast podawać duże i małe znaki można zastosować flage NC (No Case), która pozwala na wpisywanie dużych i małych liter wtedy regułka się może nieco uprościć
Kod
RewriteRule ([a-z0-9\-.]+) index.php?a=$1 [NC]


--------------------
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 - 05:12