Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: htaccess, Działające linki 'a,b,c.html', blokada samego 'index.php'
Forum PHP.pl > Forum > Serwery WWW > Apache
Frost
Witam,

mam poprawnie skonfigurowany plik .htaccess dla linków o postaci:
a,b,c.html
przekierowywanych do:
index.php?parama=a&paramb=b&paramc=c
i to działa jak należy.

Chcę natomiast zablokować możliwość ręcznego wpisania w przeglądarkę adresu:
index.php?parama=a&paramb=b&paramc=c
w taki sposób, by użyszkodnik odsyłany był do strony głównej.

Z góry dziękuję za pomoc,
Pozdrawiam
erix
Odpowiedni RewriteCond na QUERY_STRING. Sprawdzasz wyrażeniem regularnym.
Frost
A mógłbym prosić o ciut więcej informacji?

Chciałbym dodać, że raz linki są krótkie
a.html
a raz dłuższe
a,b,c,d,e,f,g.html

Problem w tym, że gdy zablokuję w jakiś sposób dostęp do index.php to linki a,b,c.html też przestaną działać, bo są przecież przepisywane na index.php?....
Istalacar
Zawsze możesz w php sprawdzić $_SERVER[REQUEST_URI] i jeśli nie jest taka jak Ci się podoba to die().
Frost
Zależy mi na tym, aby nie mieszać do tego php i całą sprawę załatwić odpowiednimi regułkami w htaccess.
Istalacar
Zatem tak jak Erix napisał, rewritecond:
Kod
RewriteCond  %{QUERY_STRING}  ^index.php[...]*
RewriteRule  ^/index.html[...]$


To jest ogólna idea, nie jestem super zaawansowany w mod_rewrite.

Tutaj masz trochę o tym:
http://httpd.apache.org/docs/1.3/mod/mod_r...tml#InternalAPI
Frost
Czytałem manual. Jeżeli jest tam odpowiedź na mój problem, to przeczytanie go po raz trzeci i tak nie pomoże, bo widocznie go nie rozumiem.

Ta koncepcja którą podałeś zablokuje mi całą stronę. Link a,b.html zostanie przekierowany na index.php?parama=a&paramb=b a ten zostanie zablokowany przez tę regułkę.
Istalacar
Tutaj masz opisane zmienne systemowe:
http://www.internetmaker.pl/artykul/3533,5...rem_apache.html

Musisz sprawdzić dzięki któremu, będziesz w stanie rozpoznać czy jest to link już po przekierowaniu, czy bezpośrednio wklepany w przeglądarce. Być może "REDIRECT_URL" będzie tutaj przydatny.
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.