Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML] mod rewrite i plik .htaccess
Forum PHP.pl > Forum > Przedszkole
bialko0019
Witam.

Przecyztalem artykul http://home.pl/pomoc/kursy/rewrite o tworzeniu htaccess i zrobiłem tak:

Tworze plik o nazwe: .htaccess

Wpisuję w nim :

  1. <?php
  2. RewriteEngine on
  3.  
  4. RewriteRule ^page/$ opinie,$
  5. ?>


jeżeli:

wszystkie strony np. www.example.pl/index.php?go=acer_extensa to plik acer_extensa jest w katalogu page
ze mam adres www.example.pl/index.php?go=acer_extensa i plik acer_extensa jest w katalogu page i potem bede mial adres - www.example.pl/index.php/opinie,acer_extensa


Plik zapisuje w folderze glownym, tzn. gdzie mam plik index.php z nazwa tylko i wylacznie .htaccess i koniecznie linijka pusta na koncu kodu.

Czy dobrze zrozumiałem kurs? Jakie błedy popełniłem ? Gdy tak zrobiłem nie robi się nic, jest tak jak było.


Dziękuje za odpowiedzi
erix
Cytat
Jakie błedy popełniłem ?

Ano taki, że zamieniłeś parametry; ma być: RewriteRule WZORZEC ZAMIENNIK. Poza tym, u Ciebie nie ma wzorca, tylko statyczna strona (patrząc na wyrażenie).

Cytat
Czy dobrze zrozumiałem kurs?

Nie.
Ayrox
i kolego w .htaccess masz znaczniki <?php     ?>, a tak się nie robi. To wywal!, nie stosuje się php w takich plikach.
bialko0019
Statyczna? Ogolnie strona ma dynamiczny adres - irecenzje.yoyo.pl?go=acer_extensa -> czyli powinienem napisac:

Kod
RewriteRule ^go=$ opinie,$


questionmark.gif

To nie, znaczniki php zostaly tylko przez motode kopiuj -> wklej ;p juz usuwam, przepraszam smile.gif

nie jest zamienione ->

^go=$ -> wzorzecz bo fdsfdfs.pl/index.php?go=acer

opinie,$ -> zamiennik, bo bedzie fdsfds.pl/index.php/opinie, acer
bialko0019
Witam.

Dziękuję wogole za odpowiedzi na moje problemy smile.gif

Zrobiłem tak, ale tez nie idzie

Kod
RewriteEngine On

RewriteCond %{QUERY_STRING} go=([^&;]*)
RewriteRule . index.php/opinie,%1


questionmark.gif
Ale nie ma zadnch bledow? Wszystko normalnie chodzi jak htaccess jest w katalogu? Nawet zadnego bledu ? Wstawiam do glównego katalgu. Wszystkie strony sa w katalogu page i o rozszerzeniu html.

PS. Mam takie głupie pytanie odnosnie czytania na forum ;p

Jak zrobic, aby wszystkie odpowiedzi, posty wyswietlaly sie wszytskie a nie tak jak mi teraz pisze pierwszy i ten co kliknie link po lewej na dolle... ;p oczywiscie tu na forum ;p

po prostu wytlumaczcie mi: mam adres index.php?go=wartosc i chce miec index.php/opinie,wartosc to jak mam htaccess skonfigurowac?

Tak nie działa blad sewera 500:

Kod
RewriteEngine On
RewriteRule ^index.php?go=(.*)$ /opinia, $1 [QSA]

ani tez

RewriteEngine On

RewriteCond %{QUERY_STRING} go=([^&;]*)
RewriteRule . index.php?go=%1


-> wogole nie wiem bo jest wpisany wzor a zamiennika nie ma;/


Czekam na odpowiedzi....

PS. Przeszukałem cale forum, przejrzalem wszystkie tematy ktore znalazłem na forum o przyjaznych linkach i w wiekszosci znalalzłem adresy o takich przypadkach ze adres jest index.php?id=1&costaminnego a mi chodzi tylko o proste przepisanie adresu index.php?go=wartosc na index.php/opienie,wartosc ... A tak pozatym moj serwer nie obslugiwal htaccess i dlatego nawet zadnego bledu nie bylo;p teraz juz jest ok i czekam na odpowiedzi !

chce po prostu wiedziec jak zmienic adres irecenzje.cba.pl/index.php?go=wyraz lub cyfra, lub dwie cyfry na irecenzje.cba.pl/index.php/opinie,wyraz lub cyfra, lub dwie cyfry questionmark.gif i już nie bede Wam zawracał głowy ;p

Witam. Mam kluczową chyba sprawę w rozwiązaniu problemu z htaccess..... byc moze wszystko tak jak powinienem to zrobiłem, ale teraz widze, bo robie wsyztsko tak jak powinnno i jest opisane w kursie http://www.northpole.pl/przyjazne-linki/ . Robię narazie proste testy - url-test i jestem na etapie pierwszego testu bardzo prostego - powinno sie wyswietlic - "udało sie" - a wyswietla się 403 Forbidden - brak dostepu.... dokładnie to :

Forbidden

You don't have permission to access /url-test/index.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


Wiec trzeba cos ustawic ?
erix
Cytat
Jak zrobic, aby wszystkie odpowiedzi, posty wyswietlaly sie wszytskie a nie tak jak mi teraz pisze pierwszy i ten co kliknie link po lewej na dolle... ;p oczywiscie tu na forum ;p

Z prawej strony, u góry masz "opcje", zmień tryb wyświetlania na standardowy.

Kod
RewriteEngine On
RewriteRule ^index.php?go=(.*)$ /opinia, $1 [QSA]

To nie ma prawa zadziałać, gdyż przepisywanie przez RewriteRule we wzorcu NIE UWZGLĘDNIA ciągu query string, co napisałem już w zalinkowanym temacie.


Cytat
Forbidden

You don't have permission to access /url-test/index.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Musisz najpierw zrobić katalog url-test i w nim wszystkie pliki umieszczać.

Zainstaluj sobie jakiś serwer Apache na swoim komputerze i na nim testuj.
bialko0019
Ok.


Dziękuję za odpowiedz.


No to jak ja mam w kącu ten htaccess wpisac? Każdy wpisuje inaczej, a ja już nie rozumiem ;(

powinno byc tak: dla adresu http://www.irecenzje.cba.pl/index.php?go=wartosc ale nie dzie sad.gif

Kod
Options FollowSymLinks
RewriteEngine On

RewriteRule ^index-([^-]*).htm$ index.php?go=$1


ale nie chodzi - jak wgram na cba na serwer to pisze blad 403 brak dostepu, a jak na apache to pisze ze blad wewnetrzny serwera i jak bym nie wpisal na niczym nie działa...



Pomozcie....
erix
pisze się RewriteRule WZORZEC ZAMIENNIK, a nie na odwrót.

Nota bene, wcale nie czytasz, o czym ja piszę; próbuj najpierw u siebie, dopiero potem w sieci. Poza tym, ile razy mam tłumaczyć, że przy pomocy RewriteRule nie przeparsujesz ciągu query string?!

Odrób pracę domową, następne leniwe pytanie będę raportował.
bialko0019
Witam.

"RewriteRule nie przeparsujesz ciągu query string?!" -> jeeej, ale ja jestem głupi, Ty mi tłumaczysz a ja hah prubuje na RewriteRule -> Przepraszam... ;/ Ale troche ja sie sam wprowadziłem w bład bo w kursie : http://www.bilsoftware.com/php-mod_rewrite-1.html pisze, ze zeby przepisac link http://www.nazwadomeny.pl/index.php?modul=news na http://www.nazwadomeny.pl/news - i tam nie ma querty string....


Nie wiem, pewnie to będzie moje ostatnie pytanie, bo bedzie zaraportowane, ze jakieś proste itp... Ja po prostu sie ucze, poznaje PHP wogole i dlatego takie głupie bledy popełniam... Natomiast prubuje i sprawdzam, szukam wszedzie - i znalazłem chyba równiez kluczową sprawe - na tej stronie -> http://www.bilsoftware.com/php-mod_rewrite-1.html jest test -> czy serwer obsługuje modrewrite - wpisałem, i na Apache nie -> jest linijka :
LoadModule rewrite_module modules/mod_rewrite.so , wiec powinno byc ok, ale to jest jeszcze sporo kombinacji pewno, to jeszcze dokladnie poszukam zeby skonfigorować poprawnie, ale zastanawia mnie bo na serwer też wrzuciłem na CBA i też pisze ze nie obsługuje -> ja juz nie wiem - pisze ze obsługuje....
erix
Cytat
a po prostu sie ucze, poznaje PHP wogole i dlatego takie głupie bledy popełniam...

Ale to nie zwalnia z myślenia.

Cytat
wiec powinno byc ok, ale to jest jeszcze sporo kombinacji pewno, to jeszcze dokladnie poszukam zeby skonfigorować poprawnie

Google, google, jeszcze raz google. Jak nie możesz sobie poradzić, ściągnij gotową paczkę. Nie jestem pewien, czy cba akurat obsługuje mod_rewrite, śmiem wątpić, gdyż to darmówka. winksmiley.jpg
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.