Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]Odświerzanie strony na własną rękę
Forum PHP.pl > Forum > Przedszkole
3dru
Witam, chciałbym żebyście mi pomogli w niektórych problemach dotyczących strony, którą po paru latach postanowiłem odświeżyć. Pierwotnie budowa strony była zlecona firmie, której nie mogę aktualnie znaleźć, więc albo zmieniła nazwę, albo już jej niema. Mimo wszystko modyfikuje ją na własną rękę i teraz mam problem z adresami, konkretnie z wyświetlaniem ścieżki strony w polu adresu przeglądarki.

Klikając w link na stronie przekierowuje mnie właściwie, lecz zamiast wyświetlania ścieżki: www.strona.pl/kolejnastrona wyświetla mi www.strona.pl/?page=kolejnastrona

wydaje mi się że coś jest nie tak z funkcjami, lecz w żaden sposób nie udało mi się tego naprawić, zapewne czegoś brakuje, lub coś się w tym czasie zmieniło, dlatego proszę o sugestie i pomoc.


viking
Wszystko jest w porządku. Tak działa PHP. Potrzebujesz tylko mod_rewrite do przepisania adresów.
3dru
Pierwsze słyszę, ale dzięki za odpowiedź. Z tego co widzę to trzeba chyba wkleić moda do .htaccess, tylko że u mnie są 4 takie pliki w różnych miejscach.

Już ponad godzinę z tym walczę i chyba nie rozumiem, proszę o pomoc:

www.strona.pl/?page=kolejnastrona

chcąc wprowadzić mod_rewrite trzeba utworzyć .htaccess w folderze gdzie znajduje się kolejnastrona.php

w .htaccess wprowadzam:
RewriteBase /
RewriteEngine on
RewriteRule ^kolejnastrona$ /?page=kolejnastrona

niestety nie działa, więc coś źle rozumuję...
trueblue
Jak wygląda oryginalny url na stronie (w linku, nie w pasku adresu)?
3dru
http://strona.pl/?page=kolejnastrona

<link href="css/style.css" rel="stylesheet" type="text/css" />

/domains/strona.pl/public_html/pages/index.php


i tutaj jeszcze te funkcje:

function PageName($page)
{
global $page_name;
if(isset($page) && !empty($page))
{
echo $page_name[$page];
}
else
{
echo $page_name['index'];
}
} // end PageName();


function Watchlink($alians, $img)
{
global $page_name;
echo '<a href="?page='.$alians.'">';
echo '<img src="'.$img.'" alt=""/>'.' ';
echo $page_name[$alians];
echo '</a>';
} // end Watchlink();

function Watchlink2($alians)
{
global $page_name;
echo '<a href="?page='.$alians.'">';
echo $page_name[$alians];
echo '</a>';
} // end Watchlink2();
trueblue
W kodzie najpierw przygotuj linki przyjazne.
W .htaccess przepisuj postać przyjazną na nieprzyjazną (to co pokazałeś w drugim swoim poście).
3dru
Niestety coś nie łapie. Mam w .htaccess kod:

Options FollowSymLinks
RewriteBase /
RewriteEngine On
RewriteRule ^strona2.html$ ?page=strona2 [L]

Jak już wcześniej pisałem, mam 3 pliki .htaccess, wydaje mi się, że edytować trzeba ten z folderu "pages"

viking
http://www.generateit.net/mod-rewrite/index.php

Podajesz adres z pierwszego linku, masz regułę.
3dru
korzystając z tego generatora otrzymuje:

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?page=$1 [L]



Nie wiem czy dobrze myślę, ale teraz zamiast $1 wpisuje nazwę strony z folderu pages, a w ^([^/]*)\.html$ co ma wyświetlać czyli ^moja2strona\.html$

tylko który to htaccess? ten w folderze pages?
viking
Wklejasz to jak jest bez żadnych modyfikacji do głównego folderu.
3dru
Niestety nie działa, wkleilem:

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?page=$1 [L]

bez rezultatu...


już chyba widzę o co chodzi... rewrite faktycznie działa, lecz muszę teraz zmienić linki w kodzie

Bardzo dziękuje wszystkim za pomoc. Zmieniłem wartości funkcji i reguła rewrite działa jak trzeba.


Kolejna sprawa to chciałbym zapytać, czy jest taka możliwość żeby stworzyć na background.jpg niewidoczne linki.

Np. mając zdjęcie pilota:




pilot jest wklejony gdzieś tam z boku strony. Po najechaniu kursorem na czerwony guzik na obrazku pilota pojawia się "łapka" gdzie przy kliknięciu linkuje do strony głównej, analogicznie po kliknięciu back na pilocie użytkownik wraca na poprzednią stronę...
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.