Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne]mod_rewrite - pytanie od nowicjusza
Drav
post 11.10.2009, 19:37:02
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 14.09.2008
Skąd: Polska

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


Witam.
Szukałem sposoby zmiany moich linków z index.php?id=strona na jakies prostsze i znalazłem je - mod rewrite

Poczytałem kilka tutoriali i wydaje mi sie, że wszystko robiłem ok, albno źle zrozumiałem to co było w nich napisane.

Więc na poczatek mam to:

plik .htaccess
Kod
RewriteEngine On
RewriteRule ^kontakt$ index.php?id=kontakt

skrypt w pliku index.php (na szybko pisany, żeby sobie przetestować, no ale jest)
Kod
    <?php
    switch ($_GET['id'])
    {
        case kontakt:
            include('kontakt.htm');
            break;
        default:
            echo 'Strona główna :-)';
            break;
    }
?>

i link
Kod
<a href="kontakt">kontakt</a>


Ok a teraz problem.

1. Kiedy klikam w link wywala mi bląd (404) więc wnioskuje, że COŚ w .htaccess zrobiłem źle, ale co to juz nie wiem.
2. Jak tzrebaby to przerobić, zeby zamieniało jakikolwiek tekst w id i w strona (index.php?id=strona) na www.adres.pl/id/strona/, albo jesli sie nie da to chociaż zaleznie od tego czy w id jest a, czy b to by wrzucało a/strona, lub b/strona

Bedę wdzięczny za KAŻDĄ pomoc, bo niestety doszedłem do momentu, w którym nie wiem już co zrobic.

Pozdrawiam


--------------------
XHTML | CSS | PHP (Uczę się :D)
Go to the top of the page
+Quote Post
uglukha
post 11.10.2009, 19:54:50
Post #2





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

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


tak na szybko, wiec moze nie dzialac, ale powinno

Kod
RewriteCond %{HTTP_HOST} ^twojadomena.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.twojadomena.com$
RewriteRule ^index.php?id=kontakt$ kontakt.html$1 [R=301,L]


generalnie zapisales odwrotnie w rewriterule na moje oko, jesli dobrze zrozumialem co chcesz osiagnac


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post
Drav
post 11.10.2009, 20:02:36
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 14.09.2008
Skąd: Polska

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


no dalej błąd.
plik index.php znajduje się obecnie w folderze "/demo", moze to ma jakies znaczenie.

Ten post edytował Drav 11.10.2009, 20:03:57


--------------------
XHTML | CSS | PHP (Uczę się :D)
Go to the top of the page
+Quote Post
uglukha
post 11.10.2009, 20:10:16
Post #4





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 5.05.2008

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


Cytat(Drav @ 11.10.2009, 21:02:36 ) *
no dalej błąd.
plik index.php znajduje się obecnie w folderze "/demo", moze to ma jakies znaczenie.


zdecydowanie ma znacznie, dopisz demo/ przed index


--------------------
Death and Decay >.<
Go to the top of the page
+Quote Post
Drav
post 11.10.2009, 20:18:04
Post #5





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 14.09.2008
Skąd: Polska

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


  1. RewriteEngine On
  2. RewriteCond %{HTTP_HOST} ^adres.pl$ [OR]
  3. RewriteCond %{HTTP_HOST} ^www.adres.pl$
  4. RewriteRule ^demo/index.php?id=kontakt$ kontakt.html$1 [R=301,L]


i dalej 404 :/ nie mam pojęcia co robić.
http://swiatdiablo.pl/demo/ - adres strony, może pomoze.


--------------------
XHTML | CSS | PHP (Uczę się :D)
Go to the top of the page
+Quote Post
Pilsener
post 12.10.2009, 13:02:31
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Ktoś tu coś kręci :/

1. Jak rozumiem chcesz zamiast linku typu twojastrona.pl/index.php?id=strona mieć link twojastrona.pl/strona?
2. Sprawdź najpierw, czy działa link zwykły: index.php?id=strona
3. Sprawdź w najprostszej formie, czy działa przepisywanie adresów:
Kod
RewriteRule index.html index.php [L]

4. Jeśli działa, to przepisz link przyjazny na zwykły:
Kod
RewriteRule ^(.+)/$ ?id=$1 [L]
- przepisze adres typu mojastrona.pl/strona/ na mojastrona.pl/index.php?id=strona
Go to the top of the page
+Quote Post
Drav
post 12.10.2009, 15:14:06
Post #7





Grupa: Zarejestrowani
Postów: 82
Pomógł: 0
Dołączył: 14.09.2008
Skąd: Polska

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


po co mam przepisywać przyjazny na zwykły? nie ma byc czasem odwrotnie? ^^

ten 1 przykład działa poprawnie.

Ten post edytował Drav 12.10.2009, 15:17:00


--------------------
XHTML | CSS | PHP (Uczę się :D)
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 - 07:21