piotrek442
19.03.2014, 10:34:10
Witam , mam linki typu
<a href="index.php?page=login">Zaloguj</a>
i mam pytanie do was, jak zrobić zeby uzyskać takie coś -> strona.pl/login ?
próbowałmem na wiele sposobów ale nie działa mi to ;/
YourFrog
19.03.2014, 10:43:06
Masz napisaną już aplikacje i próbujesz ją dostosować do przyjaznych linków czy piszesz dopiero aplikację ?
Jeżeli dopiero piszesz to blog nospor "przyjazne linki". Ładnie opisuje jak i z czym to zjeść. Ewentualnie jakiś system routingu np symfony2.
piotrek442
19.03.2014, 10:53:54
treść jego artykułu jest bardzo rozwinięta a ja chcę tylko skrócić adres..
wpisuje takie coś:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^index.html$ index.php [L]
RewriteRule ^(.+)/(.+).html$ index.php?page=$1
ale to nie działa ;/
nospor
19.03.2014, 13:06:09
To nie są "krotkie linki" tylko "ładne linki". Poczytaj, w necie jest pelno wyjasnien o co chodzi.
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1
I juz.
piotrek442
19.03.2014, 13:35:32
przepraszam , coś mnie zaćmiło..
wchodziłem cały czas poprzez link
<a href="index.php?page=login">
i czekąjac az się zamieni
teraz dotarło do mnie że musze to zmienić na
<a href="/login">
wielkie dzięki!
nospor
19.03.2014, 13:36:19
Super.... tylko nastepnym razem nie kasuj postow, gdy ktos na nie juz odpowiedzial, bo wowczas posty odpowiadajacego wygladają debilnie :/
piotrek442
19.03.2014, 13:38:39
wiem wiem net mi zmulił i nie zauważylem ze odpowiedziałeś

możesz skasowac tamtą odpowiedź bo już mi działa!!
DZIĘKI jeszcze raz
Rufus_84
20.03.2014, 12:09:07
witam
kod:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?id=$1
działa
Ale jak chcę zmienić adres index.php?id=1&page=1
za pomocą RewriteRule ^(.*)(.*)$ index.php?id=$1page=$2
to już nie działa.
Proszę o wskazówkę...
Pozdrawiam
Rafał
nospor
20.03.2014, 12:33:32
No ale co to jest: (.*)(.*)

Podales tu dwie dokladnie takie same reguly, wiec pierwsza lapie je dwie. Bez sensu. Moze jakis rozdzielacz miedzy nimi bys wstawil? Jak wyglada adres URL ze page=1?
Rufus_84
20.03.2014, 13:43:29
cały adres wygłąda tak index.php?id=1&film=v1.php&page=1
nospor
20.03.2014, 13:48:25
Ja sie pytam o ładny adres jak wyglada.
Rufus_84
20.03.2014, 14:55:54
za pomocą kodu
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?id=$1&film=$2.php&strona=$3 [L]
adres ladny wygląda 1/v1.php/1 ,ale po przejściu do srony film=v1&page=1 nie są wczytywane style css
pomyłka. jednak nie dziala. zmienia na ladny url ale wywala do indexu bez css
nospor
20.03.2014, 15:57:02
css, js, obrazki mają mieć pelny adres a nie tylko koncowke
RewriteRule ^(.*)$ index.php?id=$1&film=$2.php&strona=$3 [L]
Jakim sposobem to ma ci zwrocic $2 i $3 jesli masz tylko jeden nawias?
Rufus_84
21.03.2014, 12:10:43
Witam ponwownie. Znowu mam mały problem.
htacces wyglada nast:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/.]+)$ index.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ index.php?id=$1&img=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)$ index.php?id=$1&film=$2&strona=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ index.php?id=$1&page=$2#pag_top [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)$ index.php?id=$1&page=$2#pag_bottom [L]
Problem polega na tym, że nie działa czwarta grupa lub druga jeżeli zamienie je (wpiszę je w pliku) kolejnością...
Jaka może byc tego przyczyna?
Pozdrawiam
Rafał
nospor
21.03.2014, 12:18:46
POdales dwie identyczne regulki. NIby skad htaccess ma wiedziec po czym je rozrozniac?
RewriteRule ^(.*)/(.*)$ index.php?id=$1&img=$2 [L]
RewriteRule ^(.*)/(.*)$ index.php?id=$1&page=$2#pag_top [L]
Te pogrubione niczym sie nie roznią a powinny jesli mają przekierowywac na rozne adresy
Rufus_84
21.03.2014, 12:25:42
to czym powinny się różnić? Będę wdzęczny za pomoc...
nospor
21.03.2014, 12:27:36
A skad ja mam wiedziec? To ty wiesz jak wygladają Twoje linki a nie ja.
Rufus_84
21.03.2014, 12:35:01
pierwszy wygląda tak: <a href="'index.php?id=partner&img='.$img.'">, który zmieniłem na <a href="'.$full.'/partner/'.$img.'">
a drugi: <a href="'index.php?id='.$pageid.'&page='.$i.'#pag_top"> zmieniłem na <a href="'.$full.'/'.$page_id.'/'.$i'">
działa jeden z nich, w zależności od tego w jakiej kolejności wpisze komende w htaccess.
nospor
21.03.2014, 12:39:24
czyli $img to tekst a $i to liczba?
No to juz wiesz czym sie roznia. w jendym masz szukac samych cyfr, a w drugim nie
Rufus_84
21.03.2014, 13:00:18
zmieniłem na:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([a-zA-Z0-9]+)$ index.php?id=$1&img=$2 [L]
img zawiera tez cyfry
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/([0-9]+)$ index.php?id=$1&page=$2 [L]
i nadal nie dziala to drugie. Adres sie zmienia ale nie przechodzi na kolejna strone...
nospor
21.03.2014, 13:01:17
Ale zamien kolejoscią.
Rufus_84
21.03.2014, 13:03:36
Działa. Dzięki za pomoc. A dlaczego kolejnośc ma znaczenie?
nospor
21.03.2014, 13:08:02
Pomysl przez chwilke. To naprawde dosc logiczne jest.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.