![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 13.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
W ramach bliższego zapoznania się z .htaccess postanowiłem zobaczyć z czym to się je, lecz już na samym początku klapa. .htaccess Kod RewriteEngine On RewriteBase / #... DirectoryIndex index.php RewriteRule ^/?(.*)/(.*)/$ index.php?include=$1&d=$2 [NC,QSA,L] index.php Kod [...] <base href='http://localhost/darkraven/'></base> #przykładowy link: <a href="index.php/yes/loguj" alt='aa'>loguj</a> #standardowo link wyglada podobnie jak w .htaccess, ale napisze: <a hred='index.php?include=yes&d=loguj></a> <?php print_r($_GET); // Array(); ?> [..] Powiecie mi dlaczego nie istnieje get ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 13.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie jest tak, pytając niczego nie oczekuje jedynie mam nadzieję, że ktoś coś podpowie, nie liczę na to, że ktoś mi da gotowca czy też nawet, że ktoś w ogóle odpisze..
Przeczytałem już kilka kursów, ale brak mi doświadczenia z pracą w .htaccess'ie. a trudno go nabrać skoro kombinuję jak mogę, przeszukałem już pół google i do czego bym się nie zastosował wychodzi to samo. Podaję objawy, piszę co się dzieje, co zmieniam, podaje linki cały czas opieram się na 2 i tych samych wersjach linków: <a hre='yes/ogloszenia'></a> czyli: http://localhost/darkraven/yes/ogloszenia <a hre='yes/ogloszenia/'></a> czyli: http://localhost/darkraven/yes/ogloszenia/ ponieważ cały czas próbuje uzyskać ten sam efekt, żeby wersja linku pierwszego również działał, w linkach nic nie zmieniam bo co ja tam mogę zmienić jeśli chodzi mi jedynie o slash'a na końcu ? Przepraszam, ale w ogóle nie wiem dlaczego masz do mnie pretensje ? co ja mogę więcej napisać ? jeśli brakuje ci jakiś informacji i chcesz pomóc to zadaj pytanie a nie oskarżaj mnie, że w ogóle nie wykazuje żadnego zainteresowania bo tak nie jest, nie będę przecież pisał tutaj wszystkiego co robię bo jaki to ma cel ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, ale w ogóle nie wiem dlaczego masz do mnie pretensje ? Kolego, nie mam do nikogo żadnych pretensji. Po prostu odniosłem wrażenie, że wklejasz sobie rozwiązanie i na forum piszesz, że coś nie działa, bez żadnych szczegółów. Jeśli tak nie jest, to przepraszam. Wracając do rzeczy - robisz zbyt ogólne wyrażenia regularne. Do takiego wzorca: /(.*)/ będzie pasowało wszystko to: /foo/, /foo-bar/, /foo/bar/baz/, //. Kropka oznacza dowolny znak, gwiazdka dowolną ilość powtórzeń (również zero). Dlatego Twoje reguły mieszają się między sobą. Zamiast /(.*)/, dużo lepszym pomysłem jest dawać: /([^/]+)/, czyli jeden lub więcej znaków różnych od / otoczonych slashami. Taki wzorzecz będzie pasował do /foo/ i /foo-bar/, ale do /foo/bar/baz/ i // już nie. Zakładając, że będziesz miał dwa typy adresów: - /yes/ogloszenia - /no/ogloszenia powinieneś zrobić taką regułę: Kod RewriteRule ^(yes|no)/([^/]+)/?$ index.php?include=$1&d=$2 [NC,L] Do tego wszystkie (.*) pozamieniać na podane wcześniej ([^/]+). Warunku na początkowy slash możesz nie pisać, bo i tak nie jest nigdy dodawany. Końcowy - owszem. Odpaliłem i sprawdziłem. U mnie wszystko działa. Jeśli u Ciebie nie chce, to znaczy, że Twój problem leży gdzie indziej. Kod DirectoryIndex index.php RewriteEngine On RewriteBase /darkraven/ RewriteCond %{REQUEST_FILENAME} -f RewriteRule .* - [PT,L] RewriteRule ^([^/]+)/([^/]+)/([0-9])/?$ index.php?include=$1&d=$2&id=$3 [NC,L] RewriteRule ^(yes|no)/([^/]+)/?$ index.php?include=$1&d=$2 [NC,L] Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 01:26 |