Thread Frage zu RewriteRule (8 answers)
Opened by bianca at 2013-03-25 06:45

GwenDragon
 2013-03-25 11:04
#166565 #166565
User since
2005-01-17
14760 Artikel
Admin1
[Homepage]
user image
Code: (dl )
1
2
3
4
5
6
7
8
# wenn Parameter im Querystring dann ans CGI
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{QUERY_STRING} (.+)=(.+)
RewriteRule .* https://www.example.org/cgi-bin/script.pl?%1=%2 [L]

# sonst alle URI nach https umleiten
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://www.example.org/$1 [L]


Das Problem ist eher Regel 1. wenn du noch mehr Parameterketten hast, dann solltest du im CGI die Parameter parsen, mit der CGI-UmgebungsVariable PATH_INFO die URI rauslesen und dann diese Regel benutzen:

Code: (dl )
1
2
3
4
# wenn Parameter im Querystring dann ans CGI
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{QUERY_STRING} (.+)=(.+)
RewriteRule (.*) https://www.example.org/cgi-bin/script.pl/$1 [QSA,L]



Quote
Dein Code mit .* sieht irgendwie nach "alles" aus, habs aber noch nicht getestet.
Was genau macht die Zeile?
.* bedeutet auch jede URI oder keine.

View full thread Frage zu RewriteRule