Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> htacces i parametry po "?"
acztery
post 14.03.2012, 01:00:59
Post #1





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


hej

mam taki adres:

test-test2.html?id=2

w htaccess mam takie coś:

RewriteRule ^(.*)-(.*).html$ index.php?ACT=$1&GET=$2


ale w $_GET nie widać zmiennej id wie może ktoś czemu? Chciałbym tylko 2 pierwsze zmiennie "upiększyć"
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
by_ikar
post 14.03.2012, 08:31:21
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


http://eriz.pcinside.pl/weblog/mod_rewrite...zac-208.html#t7
Go to the top of the page
+Quote Post
Sephirus
post 14.03.2012, 08:37:37
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Jeżeli dobrze zrozumiałem to masz sytuację, w której masz adres, który już przekształca to co jest podane w adresie na docelowy adres z GETami a jeśli ktoś do tego pierwszego (widocznego) adresu dopisze jakiś GET to nie jest on widoczny w skrypcie?

Jeśli tak to musisz zastosować miksowanie requestów w mod-rewrite co się robi bardzo łatwo poprzez dodanie flagi. I tak z:

Kod
RewriteRule ^(.*)-(.*).html$ index.php?ACT=$1&GET=$2


zrób:

Kod
RewriteRule ^(.*)-(.*).html$ index.php?ACT=$1&GET=$2 [QSA]


Dzięki temu jeśli ktoś wywoła: jeden-dwa.html?id=123 po wyprintowaniu $_GET'a dostaniesz:

Kod
ACT => jeden,
GET => dwa,
id => 123


HTH wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
acztery
post 14.03.2012, 12:55:30
Post #4





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


super

działa

mam jeszcze takie cos

mam tak:


RewriteEngine On
RewriteRule ^(.*)/(.*)/$ index.php?item=$1&action=$2 [QSA]


jak ktos wpisze foo/test to nie działa jak zrobic by przekierowalo na foo/test/

to samo ma byc np

foo/test?aa=aa przekieruje na foo/test/?aa=aa
Go to the top of the page
+Quote Post
Sephirus
post 14.03.2012, 13:00:30
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Kod
RewriteRule ^(.*)/(.*)(/*)/$ index.php?item=$1&action=$2 [QSA]


powinno grać


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
acztery
post 14.03.2012, 13:18:49
Post #6





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


nie działa


"Nie znaleziono obiektu!

Nie znaleziono żądanego URLa na tym serwerze. Jeśli wpisałeś URLa ręcznie, sprawdź, czy nie się nie pomyliłeś.

Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.

Error 404"

jak dopisz "/" to znowu działa.
Go to the top of the page
+Quote Post
Sephirus
post 14.03.2012, 13:19:40
Post #7





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


ajjj mój błąd :/


Walnąłem się przperaszam zobacz to:

Kod
RewriteRule ^(.*)/(.*)(/*)$ index.php?item=$1&action=$2 [QSA]


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
acztery
post 14.03.2012, 13:45:13
Post #8





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


nie to nie to dalej cos nie dziala powinno przekierowac z 301 tylko tyle.. a to co dajesz wyswetla ok ale bez css i grafiki mimo tego ze są pełne ścieżki, a jak dodam juz recznie "/" na koniec to bład php ktorego wczesniej nie było ...
Go to the top of the page
+Quote Post
Sephirus
post 14.03.2012, 14:17:37
Post #9





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


hmm żeby grafiki itd dobrze się wyświetlały to daj w HTMLu w HEAD <base href="http://twoja-domena.pl/"/>

A co do błedu PHP to nie wiem skąd to... hmmm

Zawsze można na siłę:

Kod
RewriteRule ^(.*)/(.*)/$ index.php?item=$1&action=$2 [L,QSA]
RewriteRule ^(.*)/(.*)$ $1/$2/ [L,R]


bodajże chyba tak wtedy przekierowuje na adres z "/" na końcu

Ten post edytował Sephirus 14.03.2012, 14:19:22


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
acztery
post 14.03.2012, 14:47:30
Post #10





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


mam base..
a bład jest bo htaccess zle przypisuje zmienne z GET


jak jest foo/test/ to bez grafiki
a jak foo/test to przekierowanie na adres url ktorego nie ma

Ten post edytował acztery 14.03.2012, 15:01:01
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: 3.07.2025 - 08:16