Jeszcze raz od mod_rewrite

0

Kontynuacja http://4programmers.net/Forum/viewtopic.php?id=110027

Czy jak chce stosować ten mod_rewrite

to musze coś zmieniac w linkach np

index.php?news_id=$news_id

czy tylko robie ten plik .htaccess ?

0

Po co robić mod_rewrite, skoro dalej będziesz miał linki, które z niego nie korzystają?

0

To jak to zrobic zeby dzialalo? naprowadzcie mnie bo juz sie kompletnie pogubilem, a zielony w tym jestem... :?

0

no ale w czym się pogubiłeś

mod_rewrite to proste przepisywanie linków, np:

RewriteRule a b

przepisze link na b jeśli podamy a, czyli "b" musi fizycznie istnieć a "a" niekoniecznie
z tym że możesz korzystać z wyrażeń regularnych czyli np:

RewriteRule ^[a-c] d

Przepisze adres na "d" o ile pierwszą literą będzie a, b lub c, jak coś jest w nawiasie, np:

RewriteRule ^([a-c]) d?parametr=$1

to możemy to podstawić do przepisanego linka pisząc w tym miejscu $n (n to numer nawiasu)
no i tyle mod_rewrite to żadna magiczna sztuczka że ci całą stronę pozmienia, jeśli chcesz żeby link już nie był http://adres/d tylko http://adres/a to musisz tak dać w kodzie, czy np zamiast index.php?a=5&b=3 możesz dać /5/3 o ile odpowiednio dasz regułę (w tym przypadku ^/?([\d]+)/([\d]+) index.php?a=$1&b=$2)

czego nie rozumiesz ? do wyrażeń regularnych polecam http://www.regular-expressions.info/

z tego co widziałem to chyba masz problem nie z mod_rewrite tylko z php, nie pisz:

echo "<a href='/$zmienna_1_$zmienna_2'>fdsaf</a>";

tylko

echo '<a href="/' . $zmienna_1 . '_' . $zmienna_2 . '">fdsaf</a>';

a jeśli chcesz wyrażenie łapiące news_id.htm to może być coś takiego:

RewriteRule ^news_([\d]+)\.htm news.php?id=$1

1 użytkowników online, w tym zalogowanych: 0, gości: 1