Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mod_rewrite
Forum PHP.pl > Forum > Serwery WWW > Apache
northwest
Witam,
Mam problem ze stronką. Zgrałem sobie stronkę wraz z plikiem .htaccess z serwera www na komputer z linuxem (Ubuntu 7.10 i apache2).
Problem w tym że na komputerze domowym stronka nie chce działać, dostaje błąd:

Not Found
The requested URL /xxx/index/forgot/przypomnij_haslo.html was not found on this server.
Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2 Server at localhost Port 80

Plik .htaccess wygląda następująco:

RewriteEngine On
RewriteRule ^index/([^-]+)/([^-]+)/([^-]+).html$ index.php?id=$1&kod=$2&tytul=$3 [L]

Możecie mi jakoś pomóc??

Z góry dzięki za pomoc,
pozdrawiam North
v1ru5
Witam spróbuj tak:
RewriteBase /adres/do/skryptu/

  1. <?php
  2. RewriteEngine On
  3. RewriteBase /panoramaofert/
  4. RewriteRule ^index/([^-]+)/([^-]+)/([^-]+).html$ index.php?id=$1&kod=$2&tytul=$3 [L]
  5. ?>


albo wrzuć skrypt do głównego katalogu stron. pozdrawiam
northwest
mam taki .htaccess tera:
RewriteEngine On
RewriteBase /panoramaofert/
RewriteRule ^index/([^-]+)/([^-]+)/([^-]+).html$ index.php?id=$1&kod=$2&tytul=$3 [L]
RewriteRule ^index/([^-]+)/([^-]+).html$ index.php?id=$1&key=$2

coś się zmieniło, wcześniej był błąd że nie ma takiego pliku, a teraz po prostu ciągle wyrzuca mi index (stronę główną) :/

na hostingu www taki adres: index.php?id=rejestracja
odpowiada: index/rejestracja/rejestracja.html

a na lokalnym teraz ładnie się zmienia, tylko mi nie wczytuje plików, tzn bez względu czy wpisze :index.php?id=rejestracja czy
odpowiada: index/rejestracja/rejestracja.html - zawsze mi wczytuje index.php tak jakby bez parametru... :/

w pliku php mam takie coś:
<?

if ($id=="rejestracja"){include"rejestracja.php";}




elseif ($id=="forgot"){include"forgot.php";}

else include"witamy.php";

?>
czyli jest okey... wiesz może dlaczego na lokalu to nie chce działać??


Dzięki WIELKIE za pomoc smile.gif)
v1ru5
cos mi tu nie pasuje.

/panoramaofert/index/forgot/przypomnij_haslo.html

^index/([^-]+)/([^-]+)/([^-]+).html$

za dużo chyba o jedno ([^-]+)/
zakladając ze /panoramaofert/ to folder
chyba powinno byc:
^index/([^-]+)/([^-]+).html$

no ale skoro dziala na serwerze.. pokaż pare linków dzialających, tzn ze strony na serwie np.
pozdrawiam
northwest
zrobiłem coś takiego:
RewriteEngine On
RewriteBase /panoramaofert/
RewriteRule ^index/([^-]+)/([^-]+).html$ index.php?id=$1 [L]

i dalej ten sam błąd :/
v1ru5
a nazwales folder panoramaofert na localu gdzie strone trzymasz?
northwest
oki, już wiem co było źle smile.gif mam php5 zainstalowane i moje zmienne były źle zapisane winksmiley.jpg teraz mam:
  1. <?php
  2. if ($_GET[id]=="rejestracja"){include"rejestracja.php";}
  3.  elseif ($_GET[id]=="rejestracjapracownika"){include"rejestracjapracownika.php";}
  4.  else include"witamy.php";
  5. ?>


i jest już prawie dobrze smile.gif
dodałem sobie testera: echo"test: $_GET[id] i $_POST[id]";
i po kliknięciu na linka w formie http://localhost/panoramaofert/?id=rejestracja - pokazuje mi się
odpowiednia stronka - i tester pokazuje test: rejestracja i. czyli ok:D


problem tylko występuje w "ładnych linkach". Po kliknięciu na:
http://localhost/panoramaofert/index/rejes...ejestracja.html
mój tester pokazuje: test: i - czyli tak jakby nie przeszły zmienne :/

Mój plik .htaccess wygląda tak:
RewriteEngine On
RewriteBase /panoramaofert/
RewriteRule ^index/([^-]+)/([^-]+).html$ index.php?id=$1 [L]

Wiecie może co może być nie tak??

dzięki za pomoc,
pozdrawiam Northwest
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.