Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> .htaccess, mod_rewrite
pentel
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


Witam,
Jakiś czas temu zrobiłem stronkę w php. Ostatnio naszło mnie na przyjazne linki, bo mam takie w stylu ?x=home&id=5. Trochę mi nie wychodziło, więc sprawdziłem najprostsze przykłady.
  1. RewriteEngine On
  2. RewriteRule ^home/([0-9]+)/$ \?x=home&id=$1

Wpisuję w przeglądarkę http://mojastrona.ovh.org/home/5/
Serwer napotkał błąd wewnętrzny i nie jest w stanie zrealizować twojego żądania. - nie działa.
Czemu? Chyba czegoś nie rozumiem z tych wszystkich kursów/tutoriali/przykładów mod_rewrite.
(W kodzie napisałem "\?" próbując escapeować pytajnik. Bez tego odwrotnego slasha tez nie działa, to było pierwsze co próbowałem).
(W pliku jest enter po regule, tylko forum mi go okroiło).
(Konto mam na ovh).

Pozdrawiam

PS: Przepraszam za złe umieszczenie tematu. Uznałem, że pasuje do działu php, bo problem przyjaznych linków dotyka każdego kto korzysta z querystringów.

Ten post edytował pentel 3.11.2007, 16:18:20
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Przenosze na Serwery www => Apache


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
prgTW
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. RewriteEngine On
  2. RewriteRule ^home/([0-9]+)/$ index.php?x=home&id=$1


Wyniku przekierowania RewriteRule'a sie nie escape'uje, escape'uje się tylko wyrażenie regularne które RewriteRule sprawdza, wynik to jest to co zostanie zapisane do wywołania URI więc tam musi być już dokładna informacja jakiemu plikowie skierować parametry i same parametry.


--------------------
Pozdrawiam
Tomasz Wójcik
..:: prgTW ::..
Go to the top of the page
+Quote Post
pentel
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


Witam,
No więc plik jest zawsze ten sam: index.php. ?x=home informuje, że wczytana zostanie podstrona home.php.

A więc skoro musi byc odwołanie do konkretnego pliku, to zrobiłem coś takiego:
  1. RewriteEngine On
  2. RewriteRule ^([a-zA-Z]{4,8})/item/([0-9]+)/$ index.php/?x=$1&m=item&id=$2 [L]
  3. RewriteRule ^([a-zA-Z]{4,8})/page/([0-9]+)/$ index.php/?x=$1&m=page&p=$2 [L]
  4. (enter)


To tez nie działa. Czy potrzeba ci więcej informacji na temat jak działa mój system aby pokazać mi błąd? Bo ja wiem, w czym się poruszam, ale nie wiem co robię źle :-(

Pozdrawiam

Ten post edytował pentel 4.11.2007, 00:10:03
Go to the top of the page
+Quote Post
prgTW
post
Post #5





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wywołaj sobie strone
index.php/?x=home&m=item&id=2

(tam jest slash po .php) bo tak masz w regule, czyli reguła sprowadzi "ładne" wywołania do takiej postaci jak wyzej, zobacz czy link Ci zadziała, jak nie to reguła (a konkretniej przekierowanie) skopana - proste

a tak btw: nie prosciej (wsystkie linki zalatwione przez 3 rulesy):
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3.  
  4. RewriteRule ^([a-zA-Z]+)/$ index.php?x=$1
  5. RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/$ index.php/?x=$1&m=$2
  6. RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([0-9]+)/$ index.php?x=$1&m=$2&id=$3
  7. </IfModule>


--------------------
Pozdrawiam
Tomasz Wójcik
..:: prgTW ::..
Go to the top of the page
+Quote Post
pentel
post
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


OK, dla mojego systemu powinno to wyglądac tak:
  1. RewriteEngine On
  2. RewriteRule ^(home|articles|team|matches|about|projects|files|sponsors|admin|profile|regi
    s
  3. er|lostpass)/$ index.php?x=$1 [L]
  4. RewriteRule ^(home|articles|matches|files)/page/([0-9]+)/$ index.php?x=$1&m=page&p=$2 [L]
  5. RewriteRule ^(home|articles|matches|files)/item/([0-9]+)/$ index.php?x=$1&m=item&id=$2 [L]
  6.  
  7. RewriteRule ^profile/view/([0-9]+)/$ index.php?x=profile&m=view&id=$1 [L]
  8. RewriteRule ^profile/(edit|setpic|delpic)/$ index.php?x=profile&m=$1 [L]
  9.  
  10. RewriteRule ^admin/(news|articles|users|matches|files|stats|log)/$ index.php?x=admin&m=$1 [L]
  11. RewriteRule ^admin/(news|articles|users|matches|files)/([0-9]+)/$ index.php?x=admin&m=$1&p=$2 [L]
  12. RewriteRule ^admin/(news|articles|matches|files)/(edit|del)/([0-9]+)/$ index.php?x=admin&m=$1&a=$2&id=$3 [L]
  13. RewriteRule ^admin/users/(edit|del|delpic)/([0-9]+)/$ index.php?x=admin&m=users&a=$1&id=$3 [L]
  14. (enter)

Ale nie działa. Spróbowałem więc najprostszy przykład:
  1. RewriteEngine On
  2. RewriteRule ^([a-zA-Z]+)/$ index.php?x=$1
  3. (enter)

I też nie działa. Nie rozumiem. Sprawdziłem, ovh obsługuje .htaccess.

Pozdrawiam
Go to the top of the page
+Quote Post
prgTW
post
Post #7





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Moze od poczatku:
  1. <IfModule !mod_rewrite.c>
  2. mod rewrite potrzebny
  3. </IfModule>


wywolaj index i zobacz czy nie dostaniesz "500 Inernal Server Error", bo to by oznaczalo ze nie ma mod_rewrite. Jak sie nie myle to moze byc mod_rewrite.c, mod_rewrite.so - tego dokladnie juz nie wiem, bo ja na .c lece (winxp)


--------------------
Pozdrawiam
Tomasz Wójcik
..:: prgTW ::..
Go to the top of the page
+Quote Post
pentel
post
Post #8





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


ee a OVH nie są na linuxach? biggrin.gif ("mój system" mam na myśli mój system newsów).

no w każdym razie, zawsze jak tylko wstawiam na serwer .htaccess to się robi
Kod
Witamy na stronie serwisu 60free firmy OVH.

Serwer napotkał błąd wewnętrzny i nie jest w stanie zrealizować twojego żądania.

Jeżeli jesteś właścicielem tego konta i szukasz informacji na temat probmemów z błędem wewnętrznym, zapraszamy na stronę http://60free.ovh.org/pl/support/ lub sprawdź czy:

- uprawnienia do uruchamianego zasobu '/p/r/z/przyklad/www/index.php?x=home' mają wartość 755,
- uprawnienia do katalogu mają wartość 755,
[b]- w pliku '.htaccess' nie znajdują się nieprawidłowe wpisy[/b]


Ciężko z tego wywnioskować, czy .htaccess działa czy nie, bo z jednej strony piszą o .htaccess (pogrubiony), a zdrugiej co bym nie dał to jest błąd wewnętrzny. No chyba, że plik jest pusty ;-). Poczytam jeszcze więcej na temat .htaccess i napiszę do adminów czy coś. Póki co, dziękuję za pomoc.

Pozdrawiam

Ten post edytował pentel 7.11.2007, 00:27:30
Go to the top of the page
+Quote Post
prgTW
post
Post #9





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(pentel @ 7.11.2007, 01:23:33 ) *
ee a OVH nie są na linuxach? biggrin.gif

a zes blysnal, wiadomo przeciez, ze na linuchu stoi, nie znam serwerow na windowsach postawionych
Cytat(pentel @ 7.11.2007, 01:23:33 ) *
... i napiszę do adminów czy coś.

to jeszcze do nich nie napisales!?


--------------------
Pozdrawiam
Tomasz Wójcik
..:: prgTW ::..
Go to the top of the page
+Quote Post
pentel
post
Post #10





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


I wszystko jasne, przykro mi, że tak Cię męczyłem :-)
"Witam,
Na serwerach 60 free nie ma możliwości korzystania z mod_rewrite.
Pozdrawiam"

I ja też pozdrawiam :-)
Go to the top of the page
+Quote Post
prgTW
post
Post #11





Grupa: Zarejestrowani
Postów: 62
Pomógł: 3
Dołączył: 10.09.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


no i widze, ze najlepiej zasiegnac informacji u zrodla, a swoja drogoa szkoda, widac ze lepiej zaplacic jednak jakas sume za powierzchnie ale miec co sie chce winksmiley.jpg


--------------------
Pozdrawiam
Tomasz Wójcik
..:: prgTW ::..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 21:58