Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
dominik_
Witam!
Dostałem od mojego nauczyciela informatyki bojowe zadanie - sfriendlnienie jego skryptu tzn. uproszczenie urli. Podjąłem się zadania nie wiedząc, jakie to trudne.

Próbowałem setki kombinacji tych wpisów w pliku .htaccess i jak na razie drażni mnie jedna rzecz.

Czemu jak patrze na przykłady plików .htaccess (zwykle stworzone dla phpBB) takich uproszczeń, nigdzie nie widzę wspominanego "mod_rewrite" tylko RewriteRule itp. Jak na razie efektem mojej 4-dniowiej pracy są <<wewnętrzne błędy serwera>>.

Czy mógłbym prosić użytkowników forum o napisanie mi przykładu pliku .htaccess który:
* po odwołaniu się do localhost/art_([0-0]+).html wczyta plik localhost/articles.php?id=\\1
* po odwołaniu się do localhost/rekomenduj wczyta plik localhost/modules/recommand.php

Z góry dzięki!
Liko
Kod
RewriteEngine On
RewriteRule ^art_([0-9]+)\.html$ articles.php?id=$1
RewriteRule ^rekomenduj$ modules/recommand.php
dominik_
Tzn. też miałem takie rozwiązanie zastosowane i dostawałem informacje o wewnętrznym błędzie serwera nr. 500...

Może głupie pytanie... ale czy nie powinno być to pomiędzy jakimiś znacznikami?
Liko
Nie. Powinno to być w pliku .htaccess. Jeżeli wywala Ci błąd to znaczy ze twój serwer nie został skompilowany z modułem 'mod_rewrite'. Więc to Ci nie zadziała. Upewnij się czy serwer ma ten moduł.
dominik_
Oo miło wiedzieć winksmiley.jpg.

No dobrze, włączyłem mod_rewrite i teraz po wpisaniu do przeglądary adresu 'art_353.html' i stworzeniu pliku articles.php serwer wyświetla błąd 400.
Przypominam, że .htaccess wygląda tak:
Kod
RewriteEngine On
RewriteRule ^art_([0-9]+)\.html$ articles.php?id=$1
RewriteRule ^rekomenduj$ modules/recommand.php
kyno
Nie powinien wygladac tak:
Kod
RewriteEngine On
RewriteRule ^art_([0-9]+)\.html$ articles.php?id=$1 [L]
RewriteRule ^rekomenduj$ modules/recommand.php [L]
Indianin
Cytat
Podjąłem się zadania nie wiedząc, jakie to trudne.

Ciekawe czy na forach medycznych studenci pytaja sie "gdzie u czlowieka jest serce" ?.
Dlaczego ludzie podejmoja czegos , o czym sie nie maja pojecia ?
Poza tym w sieci jest na peczki tutoriali nt. shorturl .
dominik_
Nie działa nawet z tymi [L]...

Indianin...
Jak ja piszę posty to nie mówię całej prawdy, ten programik miał wiele rzeczy do poprawy, które wymagały tylko zagłębienie się w kod php, w czym uważam się za b. dobrego... pliki .htaccess to inna sprawa, a pozatym sprawdzałem wiele informacji patrz post 1st.
behemot
Cytat(Indianin @ 2005-04-24 15:46:11)
Dlaczego ludzie podejmoja czegos , o czym sie nie maja pojecia ?

Moze dlatego zeby sie czegos nowego dowiedziec, podniesc swoje kwalifikacje, poznac narzedzia w praktyce? Jakos trzeba poszerzac swoja wiedze, a praktyka slozy tamu najlepiej.

A co by bylo gdyby kazdy mowil: Nie mam pojeciac o php to nie bede nic pisal w tym jezyku.

To takie moje male dwa gorsze, bo to zdanie az razilo smile.gif

Pozdrawiam,
kuba

---
proszę na przyszłość nie offtopicować
aleksander
Krzychur
Mam bardzo podobny problem.
Podejrzewam jednak, że znam częściwo jego rozwiązanie. Jeżeli testujesz to rozwiązanie wyłącznie na localhost, to najpierw sprawdź, czy to będzie działać na zdalnym serwerze, być może będzie. Następnie pochwal się, czy używasz własnej składanki php + apache2 (+mysql), czy np. Krasnala, czy Webserva.

A i podejrzewam, ale nie jestem pewien, że zmienna $_GET['id'] nie będzie widoczna w pliku php do krótego będziesz się odwoływał... nie wyciągniesz tak łatwo, będziesz musiał męczyć się z wyciąganiem tego z linku z wirtualnego linku.
dominik_
O rany, rzeczywiscie działa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! biggrin.gif
tzn. na innym serwerze, u mnie niestety to nie wchodzi, czemu??

Edit:
WebServ używam ( www.webserv.pl )
Fo
a htaccessy wogole tobie dzialaja poprawnie ?

looknij tu : http://wiki.php.pl/index.php/Instalacja_Ap...QL_pod_Linuksem

obsluga mod_rewrite pod windowsem chyba nie powinna sie zbytnio roznic.


pzdr.
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.