Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inne] HTACCESS file.html?id=ABC123
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Witam,
mam pytanie jak sprawić aby plik file.php widoczny jako file.html
funkcjonował z rozszerzeniem i parametrem .html?id=ABC123
w taki sposób jak działa .php?id=ABC123

Jaką tu napisać regułę w .htaccess?
Go to the top of the page
+Quote Post
mattwoo
post
Post #2





Grupa: Zarejestrowani
Postów: 1
Pomógł: 1
Dołączył: 4.10.2016

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


Spróbuj

Kod
RewriteRule file.html file.php [L,QSA]
Go to the top of the page
+Quote Post
Malinaa
post
Post #3





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Coś nie działa?

Skomplikowanie jest jeszcze tego typu, że plik przekazuje też inne parametry:
i link dokładnie chciałbym, aby wyglądał tak:
file-2-1.html?id=ABC123
czyli:
RewriteRule ^file-([0-9]+)-([0-9]+).html[co tutaj: ?id=]([A-Za-z0-9]+)$ file.php?sid=$1&kid=$2&id=$3 [L]
chyba, że jeszcze inaczej?
Go to the top of the page
+Quote Post
kapslokk
post
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Zostaw sobie to co miałeś i do [L] dodaj QSA, tak żebyś miał [QSA,L]
Go to the top of the page
+Quote Post
Malinaa
post
Post #5





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


Dodanie [QSA,L] czy pozostawienie [L] nic nie daje.

Jeśli napiszę regule chociażby ze znakiem @ przed id= Działa
RewriteRule ^file-([0-9]+)-([0-9]+).html@id=([A-Za-z0-9]+)$ file.php?sid=$1&kid=$2&id=$3 [L]

kiedy chcę ze znakiem ? przed id= co bym nie próbował i tak nie chce działać?
RewriteRule ^file-([0-9]+)-([0-9]+).html?id=([A-Za-z0-9]+)$ file.php?sid=$1&kid=$2&id=$3 [L]

Nie wiem jak sprawić, aby znak \? nie był traktowany jako wyrażenie, a zwykły znak,
albo jest tu inny problem przy rozszerzeniu .html i znaku ?

Ten post edytował Malinaa 31.10.2016, 09:44:12
Go to the top of the page
+Quote Post
kapslokk
post
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Po to dodajesz QSA, żeby Ci apache sam przekazywal query string dalej.


[APACHE] pobierz, plaintext
  1. RewriteRule ^file-([0-9]+)-([0-9]+).html$ file.php?sid=$1&kid=$2 [QSA,L]
[APACHE] pobierz, plaintext

Teraz jak zrobisz file-1-2.html?id=3 to id będziesz miał w $_GET.
Go to the top of the page
+Quote Post
Malinaa
post
Post #7





Grupa: Zarejestrowani
Postów: 573
Pomógł: 6
Dołączył: 21.07.2008

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


I faktycznie wystarczy do reguły, którą już miałem wcześniej dodać samo [QSA,L] i jest dobrze.
Dzięki

Ten post edytował Malinaa 31.10.2016, 12:39:18
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:09