peklo
7.10.2014, 09:27:38
Witam. Chciałbym zrobić na stronie ładny URL. W Plikiu .htaccess wrzuciłem coś takiego:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^articles-([^-]+).html$ articles.php?id=$1 [L]
w linku pojawia mi się taki url articles.php?id=1
chciałbym na poczatku dla przetestowania żeby zmieniło się na cos takiego articles-1.html
ale niestety nie działa. Co robie źle? Serwer mam ma az.pl. Plik z .htaccess wrzuciłem do katalogu główwnego oraz do katalogu ze stronką
nospor
7.10.2014, 09:36:45
htaccess sluzy do zamiany articles-1.html na articles.php?id=1 a nie na odwrot.
Turson
7.10.2014, 09:40:17
Cytat
w linku pojawia mi się taki url articles.php?id=1
chciałbym na poczatku dla przetestowania żeby zmieniło się na cos takiego articles-1.html
Ta reguła nie zamienia linków, ale interpretuje przyjazny jako ten nieprzyjazny.
peklo
7.10.2014, 09:45:55
acha, dzięki za odpowiedzi:) To znalazłem jakiś dziwny art. A da się w jakis prosty sposób zmienić
articles.php?id=1
na
nazwe artykułu.html
trueblue
7.10.2014, 09:47:24
htaccess może służyć do zmiany adresów w obydwie strony.
Da się.
peklo
7.10.2014, 09:50:39
hmm jedni mowią że w jedną inni, że w obydwie. To jak to jest?
Turson
7.10.2014, 09:54:53
Da sie, tylko że to nie działa jako jakaś zamiana, ale wpisując article.html serwer interpretuje url jako article.php?$id=666
RewriteRule article.html article.php?id=666 [L]
peklo
7.10.2014, 10:01:52
ok, to żeby zrobić zamianę article.php?id=1099 na odpowiadającą temu nazwę np: sprzedam koszule.html dla id=1099 to jak to należy wykonać, w php? I czy nalezy coś wtedy wpisywać w Plikiu .htaccess
Turson
7.10.2014, 10:12:40
Żeby zrobić link koszule.html z linku article.php?id=1099 to musisz ten drugi przebudować tak, żeby przekazać "koszule", czyli np. article.php?title=koszule
RewriteRule ^(.+).html$ article.php?title=$1 [L]
peklo
7.10.2014, 10:20:13
czyli musze najpierw w php zmienić
<a href="http://strona.pl/article.php?id=<?php echo $rr ['id']?></a>
na
<a href="http://strona.pl/article.php?title=<?php echo $rr ['nazwa']?></a>
Turson
7.10.2014, 10:20:50
Owszem..
peklo
7.10.2014, 10:25:41
a tu mam kolejne pytanko. A co będzie jak w bazie będzie kilka rekordów o tych samych nazwach? Tu pobierałem i otwierałem podstronkę po id więc nie było problemu. Chyba że coś źle myśle
Turson
7.10.2014, 10:28:16
Przekaż id i tytuł, skonstruuj link np. tytuł,id.html
peklo
7.10.2014, 10:33:00
a czyli np cuś takiego <a href="http://strona.pl/article.php?title=<?php echo $rr ['nazwa']?><?php echo $rr ['id']?></a>
Turson
7.10.2014, 10:36:38
Zacznij mysleć...
<a href="http://strona.pl/article.php?id=<?php echo $rr ['id']?>&title=<?php echo $rr ['nazwa']?>"><?php echo $rr ['nazwa']?></a>
Najlepiej jakbys mial dla artykulow specjalne aliasy, bo pewnie teraz masz spacje, polskie znaki, znaki specjalne i sie posypie
peklo
7.10.2014, 11:36:04
Ok przerobiłem na cos takiego
<a href="http://strona.pl/og/article.php?id=<?php echo $rr ['id']?>&title=<?php echo $rr ['nazwa']?>"><?php echo $rr['nazwa'] ?></a>
w wyniku czego wyświetla się taki link
http://strona.pl/og/article.php?id=320&title=koszulaI teraz co wpisać w .htaccess żeby pojawiało się tylko koszula.html czyli sama nazwa
W jakim katalogu ma się znaleźć ten .htaccess - tam gdzie jest plik article.php czy może w głównym??
Proszę o POMOC

Pomoże ktoś?
A może problem tkwi w tym że jest to subdomena?
nospor
7.10.2014, 15:02:23
Nie ogarniam... to że peklo nic nie rozumie, to rozumiem, ale że reszta....
Peklo, linki w php masz juz generowac ładne, czyli nie:
http://strona.pl/og/article.php?id=320&title=koszulaa:
http://strona.pl/og/koszula,320.htmlI w takiej postaci masz miec linki w serwisie swoim. A teraz htaccess bedzie te ladne adresy zamienial na postac czytelną dla php.
trueblue
7.10.2014, 15:51:03
Cytat(nospor @ 7.10.2014, 16:02:23 )

Nie ogarniam... to że peklo nic nie rozumie, to rozumiem, ale że reszta....
To do mnie?
Turson
7.10.2014, 16:29:58
DO mnie bo pomagałem generować brzydskie urle, ale autor sam takie chciał generować i myśli ze jakims cudem one sie "zamienia"
trueblue
7.10.2014, 16:33:32
Cytat(Turson @ 7.10.2014, 17:29:58 )

DO mnie bo pomagałem generować brzydskie urle, ale autor sam takie chciał generować i myśli ze jakims cudem one sie "zamienia"

Nie jestem pewien, ale wydaje mi się, że autor chciał się pozbyć brzydkich linków i przekierowywać je na ładne. Czyli uniknąć duplicate content poprzez dostawanie się z ładnego i brzydkiego adresu.
Co jest możliwe, o czym pisałem wyżej. Można w htaccess przekierować z URL z parametrami na przyjazny, nie wchodząc w pętlę przekierowań.
Turson
7.10.2014, 16:37:33
No można przekierować ale nie w ten sposób co autor robi. Wydaje mi się, ze chciał po prostu mieć przyjazne.
peklo
7.10.2014, 16:39:14
dobra nie wiem czy dobrze się wyraziłem wcześniej
Chcę poprostu mieć taką finalną postać
http://strona.pl/koszula.htmla nie taką
http://strona.pl/og/article.php?id=320&title=koszula
trueblue
7.10.2014, 17:01:15
Regułka więc prawie identyczna jak do tej, którą podałeś na początku:
Kod
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/og
RewriteRule ^(.+),(\d+).html$ /og/article.php?id=$2&title=$1 [L]
Przy czym linki powinieneś budować w postaci, np. "koszula,320.html".
(Jest możliwe pozbycie się id w linku, ale musiałbyś oprzeć przepisywanie np. o bazę danych.)
nospor
7.10.2014, 17:23:53
Cytat
Nie jestem pewien, ale wydaje mi się, że autor chciał się pozbyć brzydkich linków i przekierowywać je na ładne.
No wlasnie nie. Ino ze autor jest bardzo cienki w tym co robi i myslal ze się da zrobic wszystko automatem a ty potwierdziles jego idee. Teoretycznie miales racje, ze mozna, ale to nie ma zadnego praktycznego sensu, bo jak ktos chce miec ladne urle to chce miec ladne urle a nie bezsensowne potworki.
I nie, nie bylo to tylko do Ciebie, ale do Was obu (Ty i Turson)

Cieszę się, że wkoncu wyjasniliscie po petryliardzie postow, co chcial uzyskac autor....

Cytat
Jest możliwe pozbycie się id w linku, ale musiałbyś oprzeć przepisywanie np. o bazę danych
Tak czy siak musi oprzec, skoro chce wyswietlac artykul z bazy
peklo
7.10.2014, 17:30:19
a czy ty nospor musisz juz którys raz podkreślac "cienki" czy tam "inny"
nospor
7.10.2014, 17:35:28
Uzylem "cienki" nie zeby podkreslac twoją zerową wiedzę, tylko po to, by dwoch innych odpowiadajacych zrozumialo wkoncu, ze to co ci sie wydaje ze chcesz, nie koniecznie jest tym, co naprawde potrzebujesz. I jak się okazalo tak w rzeczywistosci było.
Zapytales o rzecz, którą teoretycznie dałoby się zrobic, ale nie miala ona zadnego praktycznego sensu. Ale znalazl się teoretyk, ktory powiedzial ze sie da i brneliscie dalej bez sensu w to. Dopiero jak wkoncu napisalem jak ma byc, to dwoch załapało a Ty też wkoncu raczyles napisac, ze tak, faktycznie o to mi chodzi.
Nie musisz dziekowac.
peklo
7.10.2014, 17:41:36
dobra czyli reasumując najlepiej jest to wykonać w php
trueblue
7.10.2014, 17:44:20
Cytat(nospor @ 7.10.2014, 18:23:53 )

No wlasnie nie. Ino ze autor jest bardzo cienki w tym co robi i myslal ze się da zrobic wszystko automatem a ty potwierdziles jego idee. Teoretycznie miales racje, ze mozna, ale to nie ma zadnego praktycznego sensu, bo jak ktos chce miec ladne urle to chce miec ladne urle a nie bezsensowne potworki.
Ale może nie chce, aby można było dostając się na stronę po brzydkim adresie pozostać na nim (tylko zostać przekierowanym).
W takim przypadku mógłby zostawić w html nawet brzydkie adresy, co oczywiście nie jest estetyczne.
Cytat(nospor @ 7.10.2014, 18:23:53 )

I nie, nie bylo to tylko do Ciebie, ale do Was obu (Ty i Turson)

Cieszę się, że wkoncu wyjasniliscie po petryliardzie postow, co chcial uzyskac autor....

Ja się odniosłem w moim poście do Twojej wypowiedzi, tj. że w htaccess można przekierowywać z brzydkiego na ładny, a nie tylko w jedną stronę. A co za tym idzie odpowiedź na pytanie kolegi
peklo była twierdząca. A kolejny post, to już bardziej polemika z
Tursonem i uważam, że na tym etapie nic nie wyjaśniliśmy, zresztą od wyjaśniania jest autor.
Podsumowując mój pierwszy post w tym temacie nawiązywał do przekierowań w obydwie strony, w jednym htaccess.
P.S. Daruj sobie proszę, nospor, ten protekcjonalny ton w stylu "dwóch załapało". Wyjaśniłem, że kierowałem się przekierowaniem w obydwie strony jednocześnie, można się sugerować postem #4.
nospor
7.10.2014, 17:51:34
Cytat
Ale może nie chce, aby można było dostając się na stronę po brzydkim adresie pozostać na nim (tylko zostać przekierowanym).
Sek w tym, że peklo nie jest jeszcze na tym etapie. No i pieknie, znowu mi sie dostanie, ze nazywam go "cienki"... do czego ty mnie zmuszasz trueblue...

Cytat
W takim przypadku mógłby zostawić w html nawet brzydkie adresy, co oczywiście nie jest estetyczne.
Nie wiem czemu, ale jakos od razu wiedzialem, ze nie chce takich zostawiac

Cytat
i uważam, że na tym etapie nic nie wyjaśniliśmy, zresztą od wyjaśniania jest autor.
Czasami trzeba jednak pomyslec za autora, w szczegolnosci, gdy wiedza autora w danym etapie jest uboga. Na pewno autor ma bogatą wiedze z czego innego, ale z tego akurat nie i kazdy post autora w dziedzinie powiazanej z php, należy odpowiednio filtrowac. Na pewno nie trzeba tego filtrowac w innych dziedzinach, bo autor w innych dziedzinach na pewno posiada większą wiedzę.
Cytat
P.S. Daruj sobie proszę, nospor, ten protekcjonalny ton w stylu "dwóch załapało". Wyjaśniłem, że kierowałem się przekierowaniem w obydwie strony jednocześnie, można się sugerować postem #4.
Post #4 to post peklo.
I wybacz, ale jak widze, ze przez x nascie postow, temat brnie w bezsensownym kierunku i jest daleki od jakiegokolwiek rozwiązania, to mnie z lekka ponosi, w szczegolnosci ze dwoch odpowiadających jednak ma jako takie pojęcie i dziwi, ze ciągną dyskusje nie na temat.
peklo
7.10.2014, 17:51:59
drodzy Panowie (Nospor i Trueblue) wiem, że wiecej wiecie odemnie ale wydaje mi się że to forum a raczej ten mój post nie jest po to aby się spierać kto ma rację czy może czyj sposób jest lepszy, a ma on na celu rozwiązać mój problem. Będe szczery nigdy nie miałem doczynienia z takim ładnym czy tam owakim URL i nadal jestem niewiele od startu
nospor
7.10.2014, 17:54:29
@peklo, ale Twoj problem jest już rozwiązany. Mozemy wiec chyba sie teraz w spokoju poklocic. No chyba, ze masz jeszcze cos do dodania, to pytaj smialo. Poki co, dodatkowych pytan z Twojej strony nie widzialem
trueblue
7.10.2014, 17:55:37
Cytat(nospor @ 7.10.2014, 18:51:34 )

Post #4 to post peklo.
I wybacz, ale jak widze, ze przez x nascie postow, temat brnie w bezsensownym kierunku i jest daleki od jakiegokolwiek rozwiązania, to mnie z lekka ponosi, w szczegolnosci ze dwoch odpowiadających jednak ma jako takie pojęcie i dziwi, ze ciągną dyskusje nie na temat.
Tak, to jego post. Powtarzam więc, że stwierdziłem, że rozwiązanie kiedy wchodzę na index.php?a=aaa i zostaję przekierowany na aaa.html oraz kiedy wchodzę na aaa.html i zostanę przekierowany (wewnętrznie, bez zmiany w pasku adresu) na index.php?a=aaa jest możliwe.
Ja nie nasmarowałem tyle postów w tym temacie do Twojego postu #17.
nospor
7.10.2014, 17:59:00
trueblue, ale od samego początku bylo wiadomo o co chodzi autorowi. Od razu mu to wyjasnilem, jak ma robic, a czego nie, a ty wyjechales z tą teorią ze się da. Da sie, ale to nie mialo związku z pytaniem autora. Autor myslal, ze mu sie linki same w magiczny sposob zamienią na ładne, a Ty go w tym utwierdziles. Ja powiedzialem ze nie, ty powiedziales ze tak. Jak wiem, co miales na mysli, ale zrozum, ze odpowiadamy na post autora. Autor nie wiedzial co miales na mysli i tak czy siak w zaden sposob to jego problemu nie rozwiązalo.
Cytat
Ja nie nasmarowałem tyle postów w tym temacie do Twojego postu #17.
A to juz tylko i wyłacznie kłótnia z Wami po tym, jak wyjasnilem wszystkim co chcial osiągnac autor
Turson
7.10.2014, 18:10:17
Autor chciał, żeby link koszule,666.html "działał" tak samo jak article.php?id=600&title=koszule tylko że nie do końca to tłumaczył, bo wydawało mu się, że to jakaś zamiana linku w locie, a reguła w .htaccess pozamienia mu wszystkie linki w plikach html z brzydkich na ładne. Nazwał to "zamianą", ale wiedziałem, że chodziło o przepisywanie linków. Trublue stwierdził, że da się zamienić i miał rację, że się da, ale autorowi chodziło jedynie o stworzenie ładnych urli, dlatego to wytknąłem. Ot co z mojej strony.
trueblue
7.10.2014, 19:09:07
Cytat(nospor @ 7.10.2014, 18:59:00 )

[...] a Ty go w tym utwierdziles. Ja powiedzialem ze nie, ty powiedziales ze tak.
Odpisałem tylko, że da się zrobić odwrotne przekierowanie, tak można wnioskować z pytania, na które mu odpowiadałem. W niczym go nie utwierdzałem. Ale jeśli uważasz, że odpowiedź twierdząca na pytanie, to utwierdzanie osoby w czymś, to niech i tak będzie.
Cytat(nospor @ 7.10.2014, 18:59:00 )

A to juz tylko i wyłacznie kłótnia z Wami po tym, jak wyjasnilem wszystkim co chcial osiągnac autor

Nie wiem gdzie tam zauważyłeś jakąkolwiek kłótnię, nawet spięcia nie było. Każdy z nas podumał i tyle. Ale cieszę się, że nas oświeciłeś i załagodziłeś spór...
nospor
7.10.2014, 19:25:35
Problem polegał na tym, ze potraktowales pytanie autora doslownie. Nie zastanowiles sie przez chwile, ze moze mu chodzilo o to co pytal: o ladne urle, a nie o zabezpieczenia przed duplicate content itp.
Potem doslownie odpowiedzi autora zaczal brac Turson, pomimo, ze pierwszy jego post był po jasnej stronie mocy. Potem przeszedl na ciemną strone mocy i dyskusja zeszla na zly tor. Przywrocilem ten tor na wlasciwy. Fakt, moze potem niepotrzebnie dodalem coś od siebie, ale jak juz pisalem, ze jak widze ze temat leci nie na temat i uczestniczą w nim osoby, ktore teoretycznie powinny dojsc co jest tematem, to mnie krew zalewa. Wiem, jestem nerwowy, powinieniem jesć snickersy
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.