Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z mod_rewrite lub apache
omeck
post
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:

  1. <?php
  2. // należy wkleić plik do prawej kolumny
  3. if(isset($_GET['mode'])) {
  4. // zmienna $modulesArray przechowuje listę modułów, jakie mają być dostępne
  5. // funkcja files2array pobiera nazwy plików i wstawia je do tablicy
  6. // oczywiscie robi to przy każdym przeładowaniu strony
  7. // aby nieco przyśpieszyć pracę skryptu można zrezygnować z użycia tej funkcji i z
    definować moduły ręcznie
  8. // wtedy zmianne $modulesArray powinna wyglądać mniej więcej tak $modulesArray = a
    rray('add.php', 'best.php', ...);
  9. $modulesArray = files2array(PATH_MODULES);
  10.  
  11. if(in_array($_GET['mode'], $modulesArray)) include(PATH_MODULES.$_GET['mode'].'.php');
  12.  
  13. $include = $_GET['mode']; 
  14. } else {
  15. $include='main';
  16. }
  17. ?>


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sf
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.12.2025 - 13:55