Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess mod_rewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
grzegorz-gg
Mam problem chyba z plikiem .htaccess
Chce rurchomic modul mod_rewrite do katalogu z moja strona dodalem plik .htaccess z zawartoscia

RewriteEngine on
RewriteRule ^page([a-zA-Z]*).html /index.php?page=$1

link ktory powinien byc przetworzony to

http://localhost/strona/index.php?page=register

ale niestety nic sie nie dzieje i niewiem w czym problem ale wydaje mi sie ze to wina pliku .htaccess
Czy moze on nie być przetwarzany przez server?
Czy moze zrobilem gdzie indziej blad?
Prosze o pomoc
Plikownik
zobacz tak

RewriteEngine on
RewriteRule ^page([a-zA-Z]*).html index.php?page=$1

teraz zamiast index.php?page=register powinno chodzić pageregister.html
grzegorz-gg
Nadal nic.
Jak spraedzic czy serwer wogule przetwarza plik .htaccess?
I czy trzeba konfigurować wczesniej mogul mod_rewrite?
Plikownik
to zależy z jakiego poziomu masz dostęp do serwera - lepiej pogadaj z administratorem serwera, bo użytkownik mało co zdoła w tej sprawie , w przypadku zwykłego konta możesz spróbować po przez użycie prostej regułki pliku .htaccess

RewriteEngine on
RewriteRule ^stronaglowna.html index.php

jeśli po wejściu w stronaglowna.html nie będzie widoczna strona index.php, to twój serwer nie obsługuje mod_rewrite sad.gif
em1X
W pliku konfiguracyjnym apache, dla katalogu root serwera powinna byc ustawiona dyrektywa:

Kod
AllowOverride All
mdco
Ja bym dodał znak $ na końcu wyrażenia regularnego:

RewriteEngine on
RewriteRule ^page([a-zA-Z]*).html$ index.php?page=$1
grzegorz-gg
OK zmienialem

AllowOverride All

i dziala
Wielkie dzieki smile.gif

Ale teraz mam kolejne pytanie jak zorbic zeby zamiast numeru artykupu

np. cos takiego

/strona/artykul/123.html

pojaiwal sie jego tytul pobierany np. z bazy danych

/strona/artykul/tytul-artykulu-123.html

chodzi mi o cos takiego jak na tym forum za widac tytul postu w adresie przegladarki.
nospor
@grzegorz-gg pytania odnosnie serwera nie dajemy na forum php, tylko na forum serwera. Przenosze
siemakuba
Cytat(grzegorz-gg @ 18.06.2006, 13:19 ) *
Ale teraz mam kolejne pytanie jak zorbic zeby zamiast numeru artykupu
np. cos takiego
/strona/artykul/123.html
pojaiwal sie jego tytul pobierany np. z bazy danych
/strona/artykul/tytul-artykulu-123.html
chodzi mi o cos takiego jak na tym forum za widac tytul postu w adresie przegladarki.
No ale przecież odnośnika /strona/artykul/123.html ani php ani Apache ani cokolwiek innego nie tworzy samo, prawda? Tworzysz go ty w jakiś sposób, np. pobierając informacje o artykułach z bazy, budując odpowiedni link (np. index.php?article=123 czy /strona/artykul/123.html). Co stoi na przeszkodzie, żeby zamiast artykul/123 zbudować linka artukul/pan-samochodzik-i-zagadki-fromborka? Stworzenie linka to nie jet problem, musisz tylko pamiętać o zamianie wszelkich znakow typu: polskie znaki, znaki specjalne (np. ") na jakieś inne luba na wywaleniu ich. Żeby np. z tytułu Artykuł o "Różnych rzeczach" :) zbudowało ci link strona/artykul-o-roznych-rzeczach.

pozdr.
grzegorz-gg
No dobra
teraz ma cos takiego

index.php?page=artykul&pID=123

zmieniam to na

/strona/artykul/123.html

gdzie numer 123 jest numerem id artykulu z bazy danych

chcialbym jeszcze dodac do tego tytul artykulu pobrany z bazy danyh

zeby wygladalo to np. tak:

/strona/artykul/Tytul_artykulu_jakis_tam-p123.html

jak wtedy bedzie wygladal prawdziwy?

np tak?
index.php?page=artykul&&title=Tytul_artykulu_jakis_tam&pID=123

i jak powinien wygladac wpis w .htaccecc?
em1X
Czy ty nie rozumiesz tongue.gif withstupidsmiley.gif

masz link: /strona/artykul/Tytul_artykulu_jakis_tam-p123.html


musisz go rozbic na:
/(param1/(param2)/(...)-(param3).html

to co bedzie w (...) jest niewazne.. dla ciebie jest wazne wyciagniecie parametrów: strona, artykul, id artykułu.


mój przykład:
Kod
RewriteEngine ON
RewriteRule ^(.*)/+.*-(.*)\.(html|htm)$ index.php?type=$1&id=$2


działa dla /strona/tytul_jakis-666.html
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.