We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Rewrite


pzebzda
01-09-2009, 17:27
Witaj.

A czy wiesz jaka reguła zmieni mi:

www.alamakota.info/index.php?page=abattage

tak, żeby było:

www.alamakota.info/abattage

?? dzieki z góry za pomoc

bob123
05-10-2006, 11:52
Kod:
RewriteEngine on

RewriteRule omnie index.php?koniec=1&p=p_1 [L]
RewriteRule ofirmie index.php?koniec=1&p=p_2 [L]
RewriteRule inny index.php?koniec=1&p=p_3 [L]

RewriteCond %{QUERY_STRING} !koniec=1

RewriteCond %{REQUEST_URI}  !^/$
RewriteRule (.*) $1%{QUERY_STRING} [C]

RewriteRule index.php?p=p_1 http://www.funduszepomocowe.info/omnie? [R]
RewriteRule index.php?p=p_2 http://www.funduszepomocowe.info/ofirmie? [R]
RewriteRule index.php?p=p_3 http://www.funduszepomocowe.info/inny? [R]
P.S. To rozwiazanie przy wiekszej liczbie linkow spowolni ladowanie Twojej strony.
P.S.2 Z tego miejsca chcialbym pozdrowic Łabędzia bez ktorego pomocy powyzsze rozwiazanie by nie powstalo, prosze nie pominac kolegi w podaniu

coneser
05-10-2006, 11:29
Ok. Wszystko gra. Mam jeszcze dwa pytania:

1. Jak dodawać kolejne linki w tej regule np: p=p_2, p=p_3 itd.
Na zasadzie analogii spróbowałem w ten sposób:

RewriteRule omnie index.php?koniec=2&p=p_2 [L]
RewriteCond %{QUERY_STRING} !koniec=2
RewriteCond %{REQUEST_URI} !^/$
RewriteRule (.*) $1%{QUERY_STRING} [C]
RewriteRule index.php?p=p_2 http://www.funduszepomocowe.info/ofirmie? [R]

ale nie rusza.

2. Gdzie jako klient mogę złożyć wniosek o przyznanie podwyżki za wzorową pomoc konsultantowi bob123?

bob123
05-10-2006, 11:05
Miales racje nie dzialalo gdy na strone probowalem wejsc tylko przez nazwe domeny, ja testowalemy linki typu: http://nazwa_domeny/omnie, sprobuj wrzucic ponizsze regulki

Kod:
RewriteEngine on

RewriteRule  omnie index.php?koniec=1&p=p_1 [L]
RewriteCond %{QUERY_STRING} !koniec=1
RewriteCond %{REQUEST_URI}  !^/$
RewriteRule (.*) $1%{QUERY_STRING} [C]
RewriteRule index.php?p=p_1 http://www.funduszepomocowe.info/omnie? [R]

coneser
05-10-2006, 10:47
Bob przekopiowałem kropka w kropkę to co poradziłeś i w dalszym ciągu Internal Server Error. Mógłbyś rzucić okiem na moje konto?

bob123
05-10-2006, 09:12
Ja przetestowalem drugie rozwiazanie na 1000gp i dziala tak jak chciales. Upewnij sie ze wszystko masz tak samo tak samo.

coneser
04-10-2006, 23:37
Po zastosowaniu 2 rozwiązania wychodzi: 500 Internal Server Error. Myślisz Bob że w ogóle da radę wyjść z tego z tarczą czy lepiej sobie darować

bob123
04-10-2006, 13:32
Przyszlo mi do glowy takie brzydkie rozwiazanie, ale ja juz bym wolal ogladac mniej brzydkie linki

Kod:
RewriteEngine on
RewriteRule  omnie /?p=1
RewriteRule index.php?p=1 http://www.funduszepomocowe.info/omnie [R]
Rozwiazanie maskuje tylko strony z index.php

--------- Drugie podejscie -----------
Kod:
RewriteEngine on

RewriteRule  omnie index.php?koniec=1&p=p_1 [L]
RewriteCond %{QUERY_STRING} !koniec=1
RewriteRule (.*) $1%{QUERY_STRING} [C]
RewriteRule index.php?p=p_1 http://www.funduszepomocowe.info/omnie? [R]

coneser
04-10-2006, 12:51
Chodzi o to, że obsługujący moją stronę cms wykorzystuje takie "hieroglifowane" linki do przenoszenia się na podstrony serwisu. Zmiana linków na przyjazne wiąże się z koniecznością wprowadzenia zmian w funkcjonowaniu cms-a, a to niemała robota. Wolę nawet nie myśleć. Dobrym wyjściem było więc dla mnie zastosowanie mod-rewrite i maskowanie adresu na przyjazny. Jednak po naciśnięciu heroglifowanego linka na mojej stronie adres nie jest maskowany i nie jest zamieniany na przyjazny. Ot i cały problem. Da się coś z tym zrobić?

Łabędź
04-10-2006, 12:38
Się nie da

Kiedyś była głośna sprawa związana z tym zagadnieniem: IE umożliwiał zmiane URL w przeglądarce, przez co ludzie wchodząc np. na podrobioną stronkę swojego banku dostawali prawidłowy URL w przeglądarce, i byli przekonani, że są tam gdzie powinni być. A pieniążki z konta same znikały . MS tłumaczył się, że to "nie jest bug ale feature" .

Ogólnie można to zrobić poprzez javascript, ale większość przeglądarek ma tą opcję standardowo zablokowaną.

Po prostu używaj ładnych linków u siebie na stronie (tj. http://www.funduszepomocowe.info/aktualnosci, a nie: http://www.funduszepomocowe.info/index.php?p=p_1), a resztę zrób rewrite-m.

pozdrawiam

bob123
04-10-2006, 11:25
A czemu chcesz 'zmuszac' uzytkownikow aby uzywali tego adresu -> http://www.funduszepomocowe.info/index.php?p=p_1 , przerob linki na 'ladne' , czyli www.funduszepomocowe.info/aktualnosci i nie bedzie problemu.

coneser
04-10-2006, 11:13
Przepraszam Bob jest faktycznie tak jak opisujesz. Jest tak jak być powinno oprócz jednego, najważniejszego:
klikając na: http://www.funduszepomocowe.info/index.php?p=p_1
nie otrzymuję w pasku ładnie zapisanego adresu: www.funduszepomocowe.info/aktualnosci

Używając Twojej konwencji obecnie jest tak:
1. klikam: http://www.funduszepomocowe.info/index.php?p=p_1
2. dostaję: http://www.funduszepomocowe.info/index.php?p=p_1
3. w pasku: http://www.funduszepomocowe.info/index.php?p=p_1

a chciałbym aby było tak:
1. klikam: http://www.funduszepomocowe.info/index.php?p=p_1
2. dostaję: http://www.funduszepomocowe.info/index.php?p=p_1
3. w pasku: http://www.funduszepomocowe.info/aktualnosci

bob123
04-10-2006, 10:24
Hmm przyklad ktory podalem wyzej dziala tak jak chesz(u mnie). Sprobuj jeszcze to:

Kod:
RewriteEngine on
RewriteRule aktualnosci index.php?p=p_1
RewriteRule linki index.php?p=p_2

coneser
04-10-2006, 09:58
Przez pierwsze dwa kroki wszystko idzie tak jak piszesz:

1. klikam: www.funduszepomocowe.info/aktualnosci

2. dostaję: http://www.funduszepomocowe.info/index.php?p=p_1

Jedynie ostatni krok jest nie po myśli:

3. w pasku wyświetla się: http://www.funduszepomocowe.info/index.php?p=p_1

a chcę aby tak jak piszesz wyświetlał się prosty adres: www.funduszepomocowe.info/aktualnosci

bob123
04-10-2006, 09:39
Mozesz jasniej bo nie do konca rozumiem. Klikasz na link http://www.funduszepomocowe.info/aktualnosci, naprawde laduje sie strona http://www.funduszepomocowe.info/index.php?p=p_1 , natomiast w pasku adresu jest http://www.funduszepomocowe.info/aktualnosci, tak? Napisz dokladnie co chcesz osiagnac, przyjmij moja konwencje(klikasz, dostajesz, w pasku)

coneser
04-10-2006, 08:25
Bob to nie działa, adres w dalszym ciągu pozostaje bez zmian.

bob123
03-10-2006, 15:56
Kod:
RewriteEngine on
RewriteRule aktualnosci http://www.funduszepomocowe.info/index.php?p=p_1
RewriteRule linki http://www.funduszepomocowe.info/index.php?p=p_2

coneser
03-10-2006, 15:14
Cytat Napisał bob123
A nie chodzi Ci czasem o to, aby klikajac na www.funduszepomocowe.info/omnie
zaladowala sie strona www.funduszepomocowe.info/?p=p_1 ?
To też. Przede wszystkim chciałbym aby w pasku wyszukiwania pokazywał sie przyjazny, prosty do zapamiętania adres każdej podstrony. Obecnie po nazwie strony i ukośniku pokazuje się np. ?p=p_1 , ?p=p_2 itd. a chciałbym zeby adres był zastępowany w ten sposób:

www.funduszepomocowe.info/aktualnosci

www.funduszepomocowe.info/linki

Znalazłem na forum, że możliwe jest poprzez mod-rewrite, ale mimo lektury postów, tematów pomocy i usilnych prób nic mi nie wychodzi. W dalszym ciągu w adresie tkwi ?p=p_cyfra.

Obecnie do .htaccess wpisałem:

RewriteEngine on
'RewriteRule' ^/omnie$ /?p=p_1 [L]

i nic, bez zmian.

bob123
03-10-2006, 14:39
A nie chodzi Ci czasem o to, aby klikajac na www.funduszepomocowe.info/omnie
zaladowala sie strona www.funduszepomocowe.info/?p=p_1 ?

Łabędź
03-10-2006, 14:26
Cytat Napisał coneser
Co mam linijka po linijce wpisać do .htaccess aby
z dotychczasowego adresu:

www.funduszepomocowe.info/?p=p_1

uzyskać:

www.funduszepomocowe.info/omnie


Przeczytałem wszystkie posty o rewrite, temat pomocy w przewodniku ovh i nic mi nie wychodzi. Z góry dziękuję za pomoc.
Więcej szczegółów.

pozdrawiam

coneser
03-10-2006, 14:09
Co mam linijka po linijce wpisać do .htaccess aby
z dotychczasowego adresu:

www.funduszepomocowe.info/?p=p_1

uzyskać:

www.funduszepomocowe.info/omnie


Przeczytałem wszystkie posty o rewrite, temat pomocy w przewodniku ovh i nic mi nie wychodzi. Z góry dziękuję za pomoc.