Skocz do zawartości
Zaloguj się, aby obserwować  
naXe

Ustawienie .htaccess

Polecane posty

Witam,

 

Mam problem z prawidłowym ustawieniem .htaccess.

Mam skrypt który generuje dane użytkownika z forum w obrazku

przykład: http://topfrags.pl/podpisj.php?id=1

 

Ale, żeby użyć tego obrazka trzeba zamienić rozszerzenie w pasku URL z .png na .pphp a ja właśnie chce aby było .png

 

Ustawiłem tak w .htaccess, ale nie działa:

RewriteRule ^podpisj([^-]+).png$ podpisj.php?id=$1 [L]
 

 

Skrypt forum IP.Board 3.4.2

Edytowano przez naXe (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Chwileczkę... Więc jak ma wyglądać Twój docelowy wzór adresów dla poszczególnych obrazków?

/podpisj.png?id=1, /podpisj.png?id=2 itd.?

Dość dziwne, ale jeśli tak chcesz, to poniższe działa jak należy:

 

RewriteRule ^podpisj.png$ /podpisj.php [L]

QUERY_STRING (wszystko co po znaku zapytania) jest przekazywane bez żadnych zmian.

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A, to ty takie coś chcesz zrobić...

Napisany przez mnie kod zmapuje ci podpisj-1234.png na podpisj.php?id=1234

Jeśli chcesz mapować podpisj.png?id=1234 na podpisj.php?id=1234 [choć to jest bez sensu, bo większość filtrów wytnie adres obrazka z querystringiem] to kod jest prosty

 

RewriteRule ^podpisj.png$ /podpisj.php [L,QSA]

EDIT: Nie ma to jak czytać w zakładkach...

Ale dla precyzji - IMO żeby QueryString był przekazywany, to musi być zdefiniowana flaga QSA (QueryStringAppend) ;)

Edytowano przez kafi (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie, nie musi być w tym przypadku QSA. Musiałoby, gdybyś chciał dodać jeszcze jakiś inny parametr i przekazane miałyby być obydwa.

 

http://httpd.apache.org/docs/current/mod/mod_rewrite.html

 

Modifying the Query String

 

By default, the query string is passed through unchanged. You

can, however, create URLs in the substitution string containing
a query string part. Simply use a question mark inside the
substitution string to indicate that the following text should
be re-injected into the query string. When you want to erase an
existing query string, end the substitution string with just a
question mark. To combine new and old query strings, use the
[QSA] flag.

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
AddType application/x-httpd-php .php .png
Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteRule ^podpisj\([a-zA-Z0-9_]*)\.png$ podpisj.php?id=$1 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×