![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Troche dziwny temat, ale sami nie wiem co mam nie tak (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Adres w przeglądarce wygląda mniej więcej tak: /index.php?mode=jakis_modul za obsługę modułów odpowiada kod:
nie miałem doczynienia wcześniej z mod_rewrite, wrzuciłem do pliku .htaccess regułkę: Kod RewriteEngine On RewriteRule ^mode-([a-zA-Z0-9_]*).html /index.php?mode=$1 [L] i pojawiła się strona error'a 500. Zobaczyłem, co wywala mi phpinfo() - w Loaded Modules nie ma mod_rewrite. Pogooglowałem nieco, aby znaleźć jak się włącza mod rewrite w apache. Pomocna okazał się stronka http://enarion.net/web/apache/htaccess/mod_rewrite-on-suse/ ZZrobiłem tak, jak pisali: Kod 1. Edit the file /etc/sysconfig/apache2 as root: 1. search for APACHE_MODULES, you should find a line like this APACHE_MODULES="suexec access actions alias auth auth_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif userdir ssl php4" 2. Add rewrite to the content in the list between the " 3. Save the changes and quit 2. run SuSEconfig to update the apache configuration files 3. run /etc/init.d/apache2 restart to restart the Apache server zrestartowałem apache i już w Loaded Modules jest mod_rewrite Odpaliłem skkrypt i nie wyskoczył już błąd 500. Chciałem sprawdzić, czy wszytko działa i zamiast /index.php?mode=best wpisuję /mode-best.html i wyskakuje error 404 :/ Skryptu narazie nie zmieniałem, bo chciałem zobaczyć, czy będzie działało - nie wiem teraz, czy mam źle skonfigurowany serwer(na SuSE 9.3), czy w regułkach jest coś nie tak.... bardzo proszę o pomoc... Ten post edytował omeck 9.01.2006, 12:17:25 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
dales ^mode, a tak naprawde zaczyna sie wszystk od protokolu, potem domena, a potem dopiero jest mode
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cytat(sf @ 2006-01-09 13:29:23) dales ^mode, a tak naprawde zaczyna sie wszystk od protokolu, potem domena, a potem dopiero jest mode to źle? przecież chcę, aby fraza po nazwi domeny zaczynała się od 'mode'. Czy na pewno trzeba, jak napisałeś, zaczynać od http:// i nazwy domeny? :/ Dalej mi nie działa hmm... Ten post edytował omeck 9.01.2006, 15:25:01 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteEngine On RewriteRule ^/mode-([a-zA-Z0-9_]*).html$ /index.php?mode=$1 [L] Musisz podać możliwie pełną nazwę tzn. / jest rootem. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak
1. zmieniłem lokalizację na kompie (/srv/www/htdocs) 2. adres lokalny wygląda teraz po prostu http://localhost 3. wgrałem plik .htacces(taki, jaki podał splatch) wpisując adres http://localhost/index.php?mode=search wszystko jest ok, ale gdy wpiszę http://localhost/mode-search.html wyskakuje błąd 404 :/ A powinna pojawić się strona index.php Jeżeli regułki są OK, to może mam jeszcze nie do końca skonfigurowany serwer? Muszę to mieć na lokalnym komputerze.... Czy ktoś mógłby mi podać regułki jakich używa? Z góry dzięki za pomoc... Ten post edytował omeck 9.01.2006, 18:08:26 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ustaw AllowOverride na All dla htdocs.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteEngine On RewriteBase /~sf/spreadsheets/ RewriteRule ^mode\-([a-zA-Z0-9\_]+)\.html index.php?action=$1 dziala dla http://127.0.0.1/~sf/spreadsheets/mode-main.html, dostosuj sobie Ten post edytował sf 9.01.2006, 18:47:52 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 487 Pomógł: 7 Dołączył: 7.01.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jeśli w httpd.conf nie ma ustawionego AllowOverride All to żaden htaccess nie zadziała. Sam przed chwilą sprawdzałem na Apache 2.0.53.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 79 Pomógł: 7 Dołączył: 2.07.2005 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Cytat(splatch @ 2006-01-09 18:05:00) Jeśli w httpd.conf nie ma ustawionego AllowOverride All to żaden htaccess nie zadziała. Święta racja! (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) już śmiga (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) WIELKIE dzięki panowie! Ten post edytował omeck 9.01.2006, 20:49:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:31 |