Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne] HTACCESS file.html?id=ABC123
Forum PHP.pl > Forum > Przedszkole
Malinaa
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?
mattwoo
Spróbuj

Kod
RewriteRule file.html file.php [L,QSA]
Malinaa
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?
kapslokk
Zostaw sobie to co miałeś i do [L] dodaj QSA, tak żebyś miał [QSA,L]
Malinaa
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 ?
kapslokk
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.
Malinaa
I faktycznie wystarczy do reguły, którą już miałem wcześniej dodać samo [QSA,L] i jest dobrze.
Dzięki
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.