Skocz do zawartości

Mod Rewrite - pytanie co wpisac w php


master

Rekomendowane odpowiedzi

Jeśli znasz jakąś inną metodę to chętnie ją poznam bo szczerze mówiąc gubie się w tym...
Tak, dwie z nich przedstawiłem wcześniej.

Stosowanie mod_rewrite bez dodatkowych funkcji wyrażeń regularnych powinno w tym wypadku całkowicie wystarczyć.

Moja rada:

- przyswojenie tematyki przesyłania zmiennych metodą GET

- przyswojenie zagadnień związanych z mod_rewrite w ćwiczeniach

- pogłębienie wiedzy i umejętności w zakresie szeroko pojętych zagadnień programowania w PHP

A dopiero potem zastosowanie tego w własnym serwisie :lol:

:jezyk1:

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 31
  • Dodano
  • Ostatniej odpowiedzi

[Tak, dwie z nich przedstawiłem wcześniej.

Jak ustalił Erbit obydwie metody nie są dobre dla wyszukiwarek

Stosowanie mod_rewrite bez dodatkowych funkcji wyrażeń regularnych powinno w tym wypadku całkowicie wystarczyć.

Ok, bardzo fajnie, ale może jakaś porada...

Moja rada:

- przyswojenie tematyki przesyłania zmiennych metodą GET

- przyswojenie zagadnień związanych z mod_rewrite w ćwiczeniach

- pogłębienie wiedzy i umejętności w zakresie szeroko pojętych zagadnień programowania w PHP

A dopiero potem zastosowanie tego w własnym serwisie ;)

;)

Ad 1. Między innymi po to piszę na farum

Ad 2. patrz ad.1

Ad 3 i reszta. Wspaniała porada niestety nie ma nic wspólnego z udzieleniem żadnej pomocy na zadane przeze mnie pytanie. Zwykle nie jestem za wykłócaniem się na forum i zawsze przyjmowałem wskazówki i pouczenia z dużą dawką swoistej pokory, ale jak czytam takie coś to odnoszę wrażenie, że komuś zależy bardziej na pokazaniu, że on coś potrafi niż udzieleniu jakiejkolwiek pomocy. Pozdrawiam!

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

. Wspaniała porada niestety nie ma nic wspólnego z udzieleniem żadnej pomocy na zadane przeze mnie pytanie.
Właśnie udzieliłem ci najlepszej porady!

Jak widać twoja wiedza w tym zakresie jest tak mała, że nie jesteś w stanie zadać właściwego zapytania. Więc czego oczekujesz - Spacerków za rączkę ? Budowanie struktury lików jest zagadnieniem indywidualnym dla danej witryny i jeśli chcesz mieć "przyjazne linki" musisz je samemu zdefiniować, a do tego jest potrzebna wiedza w tym zakresie. Kolega Erbit podał przykładowe linki do stron traktujących o tej tematyce

Cofam co powiedziałem, właśnie zdałem sobię sprawę,że to co z tego zakumałem znaczy tyle co g... !!
Jednak ty nic nie zrozumiałeś, ponieważ nie masz zielonego pojęcia o programowaniu w php! ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, dzięki za pomoc może kiedyś wzniose się na takie wyżyny jak Ty...

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety w PHP nie da "wsiąść do rozpędzonego pociągu w połowie drogi"...

Więc zamiast stawać okoniem i odbierać moją poradę jako wywyższanie się, doskonal swoje umiejętności w tym zakresie a wtedy może zrozumiesz mój przekaz !

To wszystko co mam Tobie na ten temat do powiedzenia.

;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Nie staje okoniem bo tu nie o to chodzi. W swoich wypowiedziach często mówisz o koledze Erbicie, tyle że on stara się jakoś pomóc, w swoich postach mówi czego się chwytać i gdzie ewentualnie znaleźć informacje na dany temat. Oczywiście najłatwiej jest powiedzieć naucz się programować i ok. Tyle, że jeśli wszyscy wychodziliby z takiego założenia to po co zakładać fora. W każdym razie nie chcę się kłócić, jedyne co mi pozostaje to poszukać wiedzy gdzieś indziej. Pozdrawiam!

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

Już samo sformułowanie Twojego zapytania:

Mod Rewrite - pytanie co wpisac w php, moja frustracja rośnie!

Swiadczy a tym, żę ... o czym napisałem!

Zadaj konkretne zapytanie, a z pewnością ktoś ci pomoże....

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

W moim poscie napisałem, że chodzi mi o to co powinienem wpisać w pliku php kiedy już stworzę swoje regułki w pliku htaccess. Znalazłem cos takiego:

https://www.cms.rk.edu.pl/art_183.html

i chciałem zapytać czy to jest dobre rozwiązanie. Jeśli nie to co powinienem zrobić, w którą stronę się udać? To wszystko.

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

...o koledze Erbicie, tyle że on stara się jakoś pomóc, w swoich postach mówi czego się chwytać i gdzie ewentualnie znaleźć informacje na dany temat....

Oj... Nie byłbym taki pewien. Jestem wredny, zgryźliwy i upierdliwy jak chyba nikt na tym forum!

Co do samego Twego problemu. W pierwszej swej wypowiedzi w tym topiku napusałem Tobie odpowiedź. Zainteresuj się $_GET. Z tej tablicy wyjmiesz to co zostało przekazane poprzez adres. Właściwie to chyba tam była najtrafniejsza odpowiedź.

Co do Mion - On ma racje, nie da się wskoczyć w biegu. Poczytaj jeszcze raz porady Mion'a a na pewno dobrze na tym wyjdziesz choć na pewno to długa droga.

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

RewriteRule ^mapa_serwisu_([^-]+).html /index.php?s=18〈=$1 [L]

Chodzi o to,że serwis jest w kilku językach i chcę,żeby w linku widoczna była wartość zmiennej przypisana danemu językowi. I teraz co mam wpisać w kodzie php w miejscu index.php?s=18〈=<?=$lang?> ?

Skoro tworzysz taką regułkę to twoje linki będą teraz wyglądały tak:

mapa_serwisu_en.html

mapa_serwisu_fr.html

itd

Oczywiście zakładając, że zmienna lang będzie przekazywać takie właśnie wartości.

I teraz napisz o co dokładnie Ci chodzi?

Z tego co mi się wydaje to powinieneś teraz umieszczać na stronie linki w taki sposób:

<a href='mapa_serwisu_<?php echo $_GET["lang"]; ?>.html'>

zamiast tego co napisałeś:

<a href=' index.php?s=18〈=<?=$lang?>'>

Ale uważam, że powinieneś najpierw poczytać więcej na temat mod rewrite, by wiedzieć o co pytać, bo ciężko jest Ci odpowiedzieć jeśli pytanie jest nie zrozumiałe...Dużo jest o tym napisane tutaj https://www.forum.optymalizacja.com/index.php?showforum=13 i na podstawie tego powienieneś wszystko (czyli to co potrzebne, aby zadać zrozumiałe pytanie) zrozumieć.

Odnośnik do komentarza
Udostępnij na innych stronach

Witam!

Na początek jeszcze raz dzięki za zainteresowanie tematem. W woli wyprostowania to i owszem php u mnie kuleje, ale pracuje nad tym :) Jeśli chodzi o to co udało mi się stworzyć w htaccess i w kodzie php to napisałem już o tym wcześniej. Wszystko co mam zrobiłem w oparciu o to:

https://www.cms.rk.edu.pl/art_183.html

Faktem jest, że nie wiedziałem wtedy nic o zmiennej $_get. Dzisiaj zamierzam z tym powalczyć, zastanawiam się tylko czy ta metoda będzie skuteczna na zamianę wszystkich linków bo jeśli chodzi o zmienną języka (Pl, En, itd) to jest dla mnie zrozumiałe, że jest wyciągana z kodu php. Pozdrawiam!

P.S - Co do kolegi Mion`a to oczywiście jego porady traktuję bardzo poważnie i również jestem za nie wdzięczny - to tak w woli uzyskania pełnej jasności :)

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

Tak na szybko:

mod_rewrite to nie jakaś czarna magia wszystko opiera się na wyrażeniach regularnych i przekazywaniu zmiennych metodą GET

Dla przykładu: mamy standardowy link index.php?s=104〈=PL przekazuje on dwie zmienne s= i lang= i te zmienne będą dostępne dla PHP w globalnej tablicy $_GET a dokładnie $_GET i $_GET[lang]

Teraz zastosowanie mod_rewrite spowoduje wewnętrzne przepisanie adresów przez serwer.

Przykładowo chcemy aby nasz link miał postać:

mapa_serwisu_234-PL.html opcjonalnie mapa_serwisu_234-langPL.html

więc tworzymy do tego celu regułkę wyrażeń regularnych:

RewriteEngine On
RewriteRule ^mapa_serwisu_([0-9]+)-lang([A-Z]+).html index.php?s=$1〈=$2 [L]
RewriteRule ^mapa_serwisu_([0-9]+)-([A-Z]+).html index.php?s=$1〈=$2 [L]

ktora :mówi" wszystko co pasuje do liknku:

mapa_serwisu_ <- ^poczatek adresu po którym będą występować same cyfry

[0-9]+ <- cyfry + powtórzone od 1 do n-razy Może być też * od 0 do n-razy

- <-występuje myślnik lub człon -lang

[A-Z]+ <- występują DUŻE litery + powtórzone od 1 do n-razy Może być też * od 0 do n-razy

() nawiasy przypisują wartość do kolejnych zmiennych $1 $2 $3 itd

Przepisz na index.php?s=$1〈=$2

i mamy do dyspozycji $_GET i $_GET[lang]

W serwisie adresów może być cała masa i każdy inny i dzięki wyrażenią regularnym możemy je dopasować i skorzystać z mod_rewrite. Dlatego ważne jest tworzenie w miarę możliwości regułek sprecyzowanych, a nie ogólnych (.*)

Do ćwiczeń zrób sobie jakąś stronę i wyświetlaj twoje zmienne:

<?
print $_GET[s].' - '.$_GET[lang];
?>

jeśli dobrze napisałeś regułki to w wypadku wywołania adresu :

index.php?s=15〈=PL lub mapa_serwisu_234-PL.html

zobaczysz to samo :)

mod_rewtite

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Ok, dzięki wielkie za pomoc. Przykład rozjaśnia mi jak to mniej więcej wygląda. Tylko, że za pomocą zmiennej get mogę wyciągnąć tylko to co już w kodzie jest (mam nadzieje że dobrze rozumiem :) ), a co jeśli ja potrzebuję zamiast konkretnej zmiennej, jakąs frazę?

P.S - Aha i dzięki za dobrą wolę :P

If I could have my wasted days back

Would I use them to get back on track?

Stop to warm and karma’s burning

Or look ahead , but keep on turning?

--------------------

iconm.gif - Metallica

Odwiedź Tattoo Studio i zrób sobie profesjonalny tattoo

Potrzebujesz więźbę dachową lub inne drzewo - tartak

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety nie wiele zrozumiałeś :(

Zmienne przenoszą ciągi znaków = frazy

Poza tym zmienne są wykorzystywane między innymi przez instrukcje sterujące :

$lang='PL';

if($lang=='PL')
print'Strona w jezyku polskim';
else
print'Strona w języku : '.$lang.' ';

PS Jak pisałem, że proponuje Ci abyś doskonalił się w programowaniu w PPH uznałeś, że się "chwale"... Może teraz widzisz, że nie da się "bawić" z PHP nie majac solidnych podstaw. To o co teraz zapytałeś to są podstawy bez tego ani rusz. Nie dogadasz się z angolem znając raptem kilka słow. w ich języku ;)

Mion, chyba się starzejesz... :) choć i ja mimo swej 'wredoty' mam czasem przebłyski dobrej woli :P

Ja też czasami "mięknę"

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności