Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] bład 500
-kraken86-
post
Post #1





Goście







Witam

Ostatnio postanowiłem zmienić serwer dla mojej stronki.
Wgrałem wszystki pliki na nowy serwer i moim oczom ukazała sie strona startowa. Niestety wszystkie odnośniki nie działają.
Co może być tego przyczyną ?


To jest fragment kodu odpowiadający za zmianę .( Strona odpala się z pliku index, po naciśnięciu guzika w nawi zmienia wygląd części strony CSS )

<?
$strona = preg_replace('/[^a-zA-Z0-9_\-]/i', '_', $_REQUEST['strona']);
if (!$strona || !file_exists('./strony/' . $strona . '.php'))
{
$strona = 'index';
}
?>



<body>
<div id="wrapper">
<!-- Top -->
<div id="top">
</div>
<!-- Nav -->
<div id="nav">
<ul>
<li<?php echo ($strona == 'index' ? ' class="active"' : '') ?>><a href="/">Strona główna</a></li>
<li<?php echo ($strona == 'ofirmie' ? ' class="active"' : '') ?>><a href="ofirmie.html">O firmie</a></li>
<li<?php echo ($strona == 'oferta' ? ' class="active"' : '') ?>><a href="oferta.html">Oferta</a></li>
<li<?php echo ($strona == 'kontakt' ? ' class="active"' : '') ?>><a href="kontakt.html">Kontakt</a></li>
</ul>
</div>
</body>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Skąd ma pobrać strona skoro linki masz zupełnie inne?
Go to the top of the page
+Quote Post
-kraken86-
post
Post #3





Goście







strona pobiera z katalogu /strony


if (!$strona || !file_exists('./strony/' . $strona . '.php'))
Go to the top of the page
+Quote Post
croc
post
Post #4





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Masz .htaccess, który zamienia XXX.html na cośtam.php?strona=XXX?
Go to the top of the page
+Quote Post
-kraken86-
post
Post #5





Goście







wsad do .htacces to:

RewriteEngine On
RewriteBase /
RewriteRule ^([a-zA-Z0-9_]+).html$ index.php?strona=$1 [QSA,L]

wszystko do tej pory na starym serwerze działało, czego mogłem jeszcze nie skopiować co jest potrzebne w działaniu strony ?
Go to the top of the page
+Quote Post
croc
post
Post #6





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


A jesteś pewien, że Twój nowy serwer obsługuje mod rewrite?
Go to the top of the page
+Quote Post
-kraken86-
post
Post #7





Goście







Nie jestem pewien nie zwracałem na to uwagi, strona jest wsadzona na serwer http://hostinghouse.pl/ pakiet brązowy. Jak sprawdzić czy obsługuje tą funkcjie?
Go to the top of the page
+Quote Post
-kraken86-
post
Post #8





Goście







Sprawdziłem serwer obsługuje tą funkcje.

Jeszcze raz wysłałem pik htaccess niestety bez rezultatu.

Jak pozbyć się tego błędu?


Go to the top of the page
+Quote Post
croc
post
Post #9





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Mi to wygląda na błąd w .htaccess. A co się dzieje jak próbujesz się dostać bezpośrednio do /strony/jakaśstrona.php - działa?
Go to the top of the page
+Quote Post
-kraken86-
post
Post #10





Goście







Jeśli zmieniam wartość w
<?
$strona = preg_replace('/[^a-zA-Z0-9_\-]/i', '_', $_REQUEST['strona']);
if (!$strona || !file_exists('./strony/' . $strona . '.php'))
{
$strona = 'index';
}

na kontakt lub inną to strona otwiera sie normalnie jako strona startowa lecz odnośniki nadal nie działają.



W przypadku zmiany ścierzki na strony/kontakt.php strona otwiera się lecz bez elementów zdefiniowanych w index.html i skryptach css.

Jak inaczej zdefiniować zmienną $strona?
Go to the top of the page
+Quote Post
crocodillo
post
Post #11





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

Ostrzeżenie: (0%)
-----


Skontaktuj się z obsługą klienta - najszybciej Ci pomogą
Go to the top of the page
+Quote Post
croc
post
Post #12





Grupa: Zarejestrowani
Postów: 706
Pomógł: 108
Dołączył: 12.03.2010

Ostrzeżenie: (0%)
-----


Na moje oko problem tkwi w file_exists. Spróbuj usunąć ./ z argumentu tej funkcji, czyli:
  1. if( ! $strona OR ! file_exists('strony/'.$strona.'.php'))
Go to the top of the page
+Quote Post
crocodillo
post
Post #13





Grupa: Zarejestrowani
Postów: 215
Pomógł: 44
Dołączył: 31.07.2011
Skąd: wrocław

Ostrzeżenie: (0%)
-----


Jeśli to jest błąd jak w temacie, czyli 500, to raczej nie wina skryptu, gdyż jest to wewnętrzny błąd serwera. Ja bym stawiał na problem z .htaccess. Upewnij się, że ostatnia masz pustą ostatnią linijkę w tym pliku. Możesz też usunąć całą zawartość .htaccess i sprawdzić jak wtedy działa. Może dostawca hostingu coś źle skonfigurował. Najlepszym i najszybszym sposobem będzie skontaktowanie się właśnie z nimi.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 16:13