PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu mod_rewrite



cane
29.06.10, 13:19
Hallo zusammen,

ich habe folgende Rewrite Rule:


RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2


Was ich jetzt umsetzen möchte ist das das ganze nur für die von extern kommende Kommunikation zieht, nicht für lokale HTTP Kommunikation auf localhost.

Ich muss also die RewriteCond ändern, die Frage ist wie ich das am schlauesten mache?

mfg
cane

marce
29.06.10, 13:24
ein 2.

rewriteCond %{REMOTE_HOST}!=localhost
einfügen ohne es genau recherchiert und ausprobiert zu haben - aus dem Kopf heraus müsste es so funktionieren, war hier schon im Einsatz...

cane
29.06.10, 13:36
Vielen Dank für die schnelle Antwort.

Werde testen lassen und berichten :)

mfg
cane

tafkaz
29.06.10, 13:55
Hallo melde mich einfach mal dazu...

Wir haben also jetzt

################################################## ##
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{REMOTE_HOST}!=localhost
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2
################################################## ##

Beim restart vom Apache kommt aber:
RewriteCond: bad argument line '%{REMOTE_HOST}!=localhost'

Wo hängt's?

Danke

cane
29.06.10, 14:34
Modifiziers mal ein wenig, hier sind Beispiele:
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Beispiel:

%{REMOTE_HOST} !^.+\.ourdomain\.com$

Da ist ein Leerzeichen hinter dem remote host und die Syntax ist anders, bin auch kein Rewrite Experte ;)

mfg
cane

tafkaz
29.06.10, 15:06
Hallo!

mit
rewriteCond %{REMOTE_HOST} !=localhost
(LEERZEICHEN!!!)

kann ich zumindest jetzt den Apache starten...Tests folgen, dann Meldung!

Danke
Sascha

tafkaz
02.07.10, 12:18
Hi. das hat alles nicht ganz geklappt....aber das hier funktioniert jetzt prima:

###############################################
RewriteEngine on
RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} !localhost
RewriteRule ^/(.*)$ https://%{SERVER_NAME}/$1 [L,R]
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 2
###############################################


Danke für Eure Bemühungen!
Bitte auf SOLVED setzen!

Sascha