Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Mod_rewrite]Bład regułki
Forum PHP.pl > Forum > PHP
PawelC
Witam smile.gif
Napisałem sobie regułke do zmiany adresów, wygląda ona tak:
Cytat
RewriteEngine On
RewriteRule ^slowo/([0-9][0-9])/$ slowo.php?id=$1

I coś mi niechcę działać i niewiem dlaczego?
Adres linków który przepisuje wygląda tak:
Cytat
slowo.php?id=99

Te 99 to przykładowe id
Mod_rewrite jest włączone na serwerze, pisałem tą regułke z kursu na home.pl
Adres strony wraz z przykładowym słowem wygląda tak:
Cytat
webdice
Prawdę mówiąc regułka jest dobra, możesz próbować jeszcze:

Kod
RewriteRule ^slowo/([0-9]+[0-9])/$ slowo.php?id=$1


lub

Kod
RewriteRule ^slowo/([0-9]+)/$ slowo.php?id=$1


Oczywiście wywołujesz:

Kod
/slowo/99/
PawelC
Wywala mi błąd:
Cytat
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@exploitek.info and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Sprawdzałem poprzez phpinfo(); i pokazuje że mod_rewrite załadowano:
Cytat
mod_php5, mod_ssl, mod_frontpage, mod_setenvif, mod_so, mod_headers, mod_expires, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_log_referer, mod_log_agent, mod_log_config, mod_env, mod_vhost_alias, http_core

Tutaj http://www.forum.exploitek.info jest użyty mod_rewrite i działa bez problemu.
sagittariuspl
jakby to była wina regułki to miałbyś błąd 404, nie 500.
ja typuje fragment RewriteEngine On na wadliwy winksmiley.jpg niektóre serwy wymagają by inaczej to robić. np. bez on, albo z podaniem ścieżki np. / czy dodanie jakiejś linijki (nie pamiętam tylko jakiej) by wogóle włączyć mod rewrite. najlepszym wyjściem jest sprawdzenie w faq hostingodawcy lub mail do admina
PawelC
Wrzuciłem dla testu pusty plik .htaccess na serwer gdzie jest ta subdomena, i efekt jest taki że nawet przy pustym pliku wywala mi błąd 500
sagittariuspl
a to już ciekawe. skontaktuj się z adminem - jestem ciekaw czy Ty wogóle możesz tworzyć pliki htaccess, nie na każdym serwerze jest taka opcja
PawelC
napisałem, powiedział że mam taką możliwość tylko jak zapytałem dlaczego w takim razie niedziała to powiedział że niema pojęcia. sad.gif
matix
Nie chcę cię tutaj namawiać do złego, ale na twoim miejscu bym podziękował za taki hosting.

Btw sprobóuj tak:

Kod
RewriteEngine ON
RewriteRule ^slowo/([^-]+).html$ slowo.php?id=$1 [L]
PawelC
Wogóle niedziała teraz, żaden błąd mi nie wyskakuje, ale regułki niedziałają.

Cytat
Nie chcę cię tutaj namawiać do złego, ale na twoim miejscu bym podziękował za taki hosting.

Dokładnie tak zrobię.
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.