Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mod_rewrite] polskie znaki
Lejto
post
Post #1





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


Jak przekazać w mod_rewrite link z polskimi znakami zwykłe ([a-zA-Z]+) nie starcza, jak to rozwiązać?

Pozdrawiam


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


wydaje mi się, że linki nie powinny zawierać polskich znaków
Go to the top of the page
+Quote Post
Lejto
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


dzięki za szybką odpowiedź, chodzi mi tu o tagi, jak np. jest tu: http://www.ekino.tv/tag,%C5%9Bmierci.html


--------------------
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no ja osobiście zawsze zamieniam litery ze znakami diakrytycznymi na zwykłe, ale jeżeli bardzo zależy Ci na zachowaniu dokładnego znaczenia to może lepiej użyć encje?

edit// teraz spojrzałem na jeden serwis i widzę, że jednak użyłem polskie litery:), w htaccess użyłem chyba tego: ([^-]*)

Ten post edytował tehaha 5.05.2010, 23:00:57
Go to the top of the page
+Quote Post
pedro84
post
Post #5





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Tutaj znajdziesz dużo informacji.


--------------------
Google knows the answer...
Go to the top of the page
+Quote Post
Lejto
post
Post #6





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


a jak napisać regułę do takiego linku:
film/agent-z-przypadku--dak-miu-mai-shing,12917
zrobiłem tak:
[APACHE] pobierz, plaintext
  1. RewriteRule ^film/([^-]*),([0-9]+)$ index.php?page=film&id=$2 [L]
[APACHE] pobierz, plaintext

ale nie działa sad.gif


--------------------
Go to the top of the page
+Quote Post
motyl-pl
post
Post #7





Grupa: Zarejestrowani
Postów: 294
Pomógł: 31
Dołączył: 2.04.2010

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


Dam Ci mój przykład który działa obczaj go sobie
Kod
RewriteRule ^([-_!~,;*'()$a-zA-Z0-9]+)-p([^-]+)-([^-]+)\.html$ ?page=podkategoria&nazwa=$1&id=$2&strona=$3 [L]


U Ciebie powinno być:
Kod
RewriteRule ^film/([^-]*),([0-9]+)$ index.php?page=film&nazwa=$1&id=$2 [L]


--------------------
Go to the top of the page
+Quote Post
Lejto
post
Post #8





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


niestety nie działa ;/


--------------------
Go to the top of the page
+Quote Post
tehaha
post
Post #9





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


możliwe, że w złym miejscu to wstawiłeś flaga [L] oznacza, że jak mod rewrite już dopasuje to już nie dokonuje innego porównania, więc jeżeli masz jeszcze prostszą formę takiego linku to daj ją niżej w pliku htaccess
Go to the top of the page
+Quote Post
Lejto
post
Post #10





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


działało, ale potem coś przestało
mój cały kod
[APACHE] pobierz, plaintext
  1. RewriteEngine On
  2. RewriteRule ^index/$ index.php
  3. RewriteRule ^film/([^-]*),([0-9]+)$ index.php?page=film&nazwa=$1&id=$2
  4. RewriteRule ^([a-zA-Z]+)$ index.php?page=$1 [L]
  5. RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+),([0-9]+)$ index.php?page=$1&p=$2&p2=$3 [L]
  6. RewriteRule ^([a-zA-Z]+)/([0-9]+)$ index.php?page=$1&id=$2 [L]
  7. RewriteRule ^tag/([^-]*)$ index.php?page=tags&tag=$1 [L]
  8. RewriteRule ^categories/([a-zA-Z]+),([0-9]+)$ index.php?page=categories&cat=$2 [L]
  9. RewriteRule ^categories/([a-zA-Z]+)([-\ ]+)([a-zA-Z]+),([0-9]+)$ index.php?page=categories&cat=$2 [L]
  10. RewriteRule ^konto\/([a-zA-Z]+)$ index.php?page=konto&k=$1 [L]
[APACHE] pobierz, plaintext







--------------------
Go to the top of the page
+Quote Post
tehaha
post
Post #11





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


wydaje mi się, że problem leży w zbyt dużym podobieństwie tych 2 reguł:
  1. RewriteRule ^film/([^-]*),([0-9]+)$ index.php?page=film&nazwa=$1&id=$2
  2.  
  3. RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+),([0-9]+)$ index.php?page=$1&p=$2&p2=$3 [L]


1. zostaw tam tą flagę [L]
2. najlepiej jakbyś nie wysyłał wszystkiego do pliku index.php bo inaczej to musisz pozmieniać konstrukcje tych linków bo tak samo wyglądają i mod_rewrite się w tym gubi bo do jednego linku pasuje więcej niż jedna regułka
Go to the top of the page
+Quote Post
Lejto
post
Post #12





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 48
Dołączył: 23.05.2007

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


wywaliłem wszystkie reguły i zostawiłem tylko to jedno i tak nic sad.gif


--------------------
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 - 20:35