Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> htaccess, Działające linki 'a,b,c.html', blokada samego 'index.php'
Frost
post 15.02.2010, 20:45:09
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.02.2010

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


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
Go to the top of the page
+Quote Post
erix
post 16.02.2010, 17:07:38
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Odpowiedni RewriteCond na QUERY_STRING. Sprawdzasz wyrażeniem regularnym.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Frost
post 16.02.2010, 21:38:11
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.02.2010

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


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?....
Go to the top of the page
+Quote Post
Istalacar
post 17.02.2010, 00:13:09
Post #4





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


Zawsze możesz w php sprawdzić $_SERVER[REQUEST_URI] i jeśli nie jest taka jak Ci się podoba to die().
Go to the top of the page
+Quote Post
Frost
post 17.02.2010, 00:18:35
Post #5





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.02.2010

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


Zależy mi na tym, aby nie mieszać do tego php i całą sprawę załatwić odpowiednimi regułkami w htaccess.
Go to the top of the page
+Quote Post
Istalacar
post 17.02.2010, 00:34:14
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


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
Go to the top of the page
+Quote Post
Frost
post 17.02.2010, 00:38:10
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 15.02.2010

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


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ę.
Go to the top of the page
+Quote Post
Istalacar
post 17.02.2010, 00:56:26
Post #8





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 06:22