Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] Mod_Rewrite
Forum PHP.pl > Forum > Przedszkole
poczatkujaca12
Mam niby proste przekierowanie...
RewriteRule ^([A_Za-z0-9\-_]+).html$ http://strona.pl/$1/\#zakladka [L]

i chce żeby przekierowywało stronkę np.
http://mojadres/dom.html
na
http://strona.pl/dom/#zakladka

a tym czasem przekierowuje na

http://strona.pl/dom/%23zakladka

Ma ktoś pomysł dlaczgo?

ps. próbowałam i z \ i bez przed znakiem #
erix
Nie ma takiej możliwości. Hash nie jest nawet wysyłany na serwer; interpretuje go wyłącznie przeglądarka.
modern-web
Nie przekierujesz pod taki adres, ponieważ # w standardzie HTML wskazuje identyfikator elementu na stronie... nie może być to część adresu wskazujący podstronę.
poczatkujaca12
Czyli d.. i muszę się bawić z php?
erix
Przekierowuj przez JS.

W ciemno ciężko powiedzieć, czy PHP, czy nie.
modern-web
PHP jest językiem server-side. Ma się nijak do tego co chcesz osiągnąć. Przekierowanie do wybranego identyfikatora na stronie to rola przeglądarki. Wykorzystaj do tego celu JavaScript lub zwykły HTML. Musisz niestety wpierw przekierować użytkownika na stronę, a dopiero potem poprosić go o wskazanie elementu, do którego ma przeskoczyć; lub zrobić to automatycznie przekazując jakąś wartość z skryptu przekierowania (np. w php) do skryptu JavaScript, który zostanie wykonany zaraz po przekierowaniu.
poczatkujaca12
tak właśnie zrobiłam

.htaccess
  1. RewriteRule ^([A_Za-z0-9\-_]+).html$ ?s=$1 [L]


index.php
  1. if(isset($_GET['s'])){
  2. header('Location: strona.pl/'.$_GET['s'].'/#zakladka');
  3. }


ed. http:// nie podaje bo w znacznikach [php] nie ładnie pokazuje :/
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.