domainFACTORY
Webseite  |  Service  |  FAQ  |  Forum  |  Status  |  Webmail  |  Kundenmenü  |  Blog  |  WM Tippspiel
Hotline Premium Hosting. Premium Service.
Forum

Alt 13.06.2005, 19:47   #1
macindy
Kunde
 
Registriert seit: 14.12.2003
Beiträge: 129
Rewrite Problem

Hallo zusammen!

Also die Forengeaks werden die Hände zusammenschlagen, aber mich hat das rewrite Fieber erfasst.
Seht mir einwenig nach, wenn ich euch nerve

Folgendes:
Ich möchte bei einem speziellen Verzeichnis eine https Verbindung erzwingen
Code:
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^/secure(.*) https://%{SERVER_NAME}/secure$1 [R=301,L]
Das funktioniert leider nicht - hab ich einen Fehler drin?
Kann der Fehler daran liegen, dass "secure" ein Symbolic Link auf ein anderes Verzeichnis ist?

Geändert von macindy (13.06.2005 um 19:49 Uhr)
macindy ist offline   Mit Zitat antworten
Alt 13.06.2005, 20:28   #2
mar-e
Forenexperte (Kunde)
 
Benutzerbild von mar-e
 
Registriert seit: 07.08.2003
Beiträge: 8.216
AW: Rewrite Problem

Zitat:
Zitat von Gerd Pleyer
Seht mir einwenig nach, wenn ich euch nerve
Interessante Fragen nerven nie.

Höchstens nichtssagende Problembeschreibungen wie:
Zitat:
Das funktioniert leider nicht - hab ich einen Fehler drin?
Folgendes (fast identisch mit Deinem Code) funktioniert bei mir einwandfrei (siehe http://test9.mar-e.de), mir fällt also nicht auf Anhieb ein offensichtlichen Fehler auf.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.test9\.mar-e\.de [NC,OR]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://www.test9.mar-e.de/$1 [L,R=permanent]


Kannst Du den bei Dir auftretenden Fehler näher beschreiben?

Gruß, mar-e

Geändert von mar-e (13.06.2005 um 20:42 Uhr)
mar-e ist gerade online   Mit Zitat antworten
Alt 13.06.2005, 20:37   #3
macindy
Kunde
 
Registriert seit: 14.12.2003
Beiträge: 129
AW: Rewrite Problem

so muss es heißen:
Code:
RewriteCond %{HTTPS} !=on
alternativ: RewriteCond %{SERVER_PORT} !^443$ // wo ist da ein Unterschied? ist https irgendwo im apache definiert? evtl. also günstig zu verwenden, wenn unwahrscheinlicherweise der https port standard geändert wird?
RewriteRule ^secure(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Wie ist das mit dem Request_URI - inwiefern unterscheidet sich das von $1?

Geändert von macindy (13.06.2005 um 20:38 Uhr)
macindy ist offline   Mit Zitat antworten
Alt 13.06.2005, 20:53   #4
Enigma
Forenexperte² (Reseller)
 
Benutzerbild von Enigma
 
Registriert seit: 20.07.2001
Beiträge: 10.453
AW: Rewrite Problem

Bei bevorzugter Verwendung von sslsites.de (keine Zertifikatswarnung):

Code:
RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{REMOTE_ADDR} !^62.67.200.4
RewriteRule ^(.*) https://sslsites.de/%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
oder, wenn ausschließlich sslsites.de verwendet werden soll:

Code:
RewriteEngine On

RewriteCond %{REMOTE_ADDR} !^62.67.200.4
RewriteRule ^(.*) https://sslsites.de/%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Zitat:
Zitat von Gerd Pleyer
Also die Forengeaks werden die Hände zusammenschlagen
Wenn schon, dann bitte "Forengeeks"! Und damit man sich einen echten Geek auch etwas besser vorstellen kann, hier noch ein Link, den Lucky mir letztens gegeben hat: http://www.emilyhambidge.com/blog/emily/66/.

Gruß,
Jan
__________________

Two hours of trial and error can save ten minutes of manual reading.

Geändert von Enigma (13.06.2005 um 20:54 Uhr)
Enigma ist offline   Mit Zitat antworten
Alt 13.06.2005, 20:55   #5
mar-e
Forenexperte (Kunde)
 
Benutzerbild von mar-e
 
Registriert seit: 07.08.2003
Beiträge: 8.216
AW: Rewrite Problem

Zitat:
Zitat von Gerd Pleyer
wo ist da ein Unterschied? ist https irgendwo im apache definiert? evtl. also günstig zu verwenden, wenn unwahrscheinlicherweise der https port standard geändert wird?
%{HTTPS} war mir bis zu Deinem Posting garnicht bekannt (wieder was gelernt. danke!).
https läßt sich allerdings in der Tat prinzipiell auf einem beliebigen Port betreiben.
Ein Anwendungsfall ist beispielsweise, wenn man auf einem Rechner mehrere Apaches parallel betreiben will.

Zitat:
Wie ist das mit dem Request_URI - inwiefern unterscheidet sich das von $1?
$1 ist der String, den der erste in () stehende Ausdruck matcht (entsprechend gibt es auch $2, $3,...)

Beispiel:
Request_URI= /hello/world

RewriteRule (.*) $1
=> $1=/hello/world

RewriteRule /hell(.*) $1
=> $1=o/world

Soweit die Theorie. In der Praxis verirrt sich manchmal (manchmal eben aber auch nicht) auf ganz seltsame Weise ein /kunden/xyz/webseiten nach $1
Bislang kann ich das nicht konsistent erklären.
Ebenfalls gibt's immer wieder Probleme mit einem "/" am Ende des Domainpfads im Kundenmenü.

Insofern ist %{REQUEST_URI} daher etwas robuster

Gruß, mar-e

Geändert von mar-e (13.06.2005 um 21:02 Uhr)
mar-e ist gerade online   Mit Zitat antworten
Alt 14.06.2005, 00:21   #6
macindy
Kunde
 
Registriert seit: 14.12.2003
Beiträge: 129
AW: Rewrite Problem

Kann man dies hier zusammenfügen:
Code:
#Rewrite HTTPS
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} ^/verz1/ [OR]
RewriteCond %{REQUEST_URI} ^/verz2/
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

#Rewrite HTTP
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/verz1/ [NC]
RewriteCond %{REQUEST_URI} !^/verz2/
RewriteRule (.*) http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Verz1 und Verz2 sind die einzigen beiden Verzeichnisse wo automatisch SSL erzwungen werden soll. Alle anderen URL sollen automatisch auf http umgeleitet werden (also hier soll https nicht erlaubt sein).

Kann man die zwei Sachen irgendwie zusammenziehen, damit ich nicht für jedes Verzeichnis doppelt definieren mussen.

Und das andere: Kann man dann auch einzelne PHP Skripts für SSL erzwingen bzw. die übrigens verbieten?

Geändert von macindy (14.06.2005 um 00:29 Uhr)
macindy ist offline   Mit Zitat antworten
Alt 14.06.2005, 02:46   #7
Enigma
Forenexperte² (Reseller)
 
Benutzerbild von Enigma
 
Registriert seit: 20.07.2001
Beiträge: 10.453
AW: Rewrite Problem

Zitat:
Zitat von Gerd Pleyer
Kann man dies hier zusammenfügen:
Code:
#Rewrite HTTPS
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} ^/verz1/ [OR]
RewriteCond %{REQUEST_URI} ^/verz2/
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

#Rewrite HTTP
RewriteCond %{HTTPS} =on
RewriteCond %{REQUEST_URI} !^/verz1/ [NC]
RewriteCond %{REQUEST_URI} !^/verz2/
RewriteRule (.*) http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Sorry, bin gerade zu müde, um zu denken oder es zu testen. Probier's am besten selbst mal aus - dabei lernst Du am meisten...

Was definitiv nicht funktionieren wird, ist

Code:
RewriteCond %{HTTPS} =off
Hier ist entweder der Wert "on" enthalten oder gar nix; den Wert "off" gibt's hier nicht. Richtig müsste es also

Code:
RewriteCond %{HTTPS} !=on
heißen.

Zitat:
Zitat von Gerd Pleyer
Und das andere: Kann man dann auch einzelne PHP Skripts für SSL erzwingen bzw. die übrigens verbieten?
Das funktioniert im Prinzip genauso. Der REQUEST_URI enthält den gesamten Pfad vom Document Root der Domain bis zur aufgerufenen Datei, ggf. inkl. QUERY_STRING (also den angehängten "Parametern").

Viel Spaß beim Tüfteln! Wenn ich aus meiner Bewusstlosigkeit erwacht bin, kann ich auch wieder etwas präziser helfen...

Gruß,
Jan
__________________

Two hours of trial and error can save ten minutes of manual reading.
Enigma ist offline   Mit Zitat antworten
Alt 14.06.2005, 09:14   #8
mar-e
Forenexperte (Kunde)
 
Benutzerbild von mar-e
 
Registriert seit: 07.08.2003
Beiträge: 8.216
AW: Rewrite Problem

Zitat:
Zitat von Gerd Pleyer
RewriteCond %{REQUEST_URI} !^/verz1/ [NC]
warum gerade in dieser Zeile ein [NC] aber in keiner sonst? N
([NC] bedeutet: diese Zeile Non-Case-sensitive verarbeiten)

Gruß, mar-e
mar-e ist gerade online   Mit Zitat antworten
Alt 14.06.2005, 16:00   #9
macindy
Kunde
 
Registriert seit: 14.12.2003
Beiträge: 129
AW: Rewrite Problem

ups ich dachte das wär der und Paramter für und

Geändert von macindy (14.06.2005 um 16:11 Uhr)
macindy ist offline   Mit Zitat antworten
Alt 14.06.2005, 16:36   #10
Enigma
Forenexperte² (Reseller)
 
Benutzerbild von Enigma
 
Registriert seit: 20.07.2001
Beiträge: 10.453
AW: Rewrite Problem

Zitat:
Zitat von Gerd Pleyer
ups ich dachte das wär der und Paramter für und
Wenn kein [OR] hinter einer Zeile steht, wird automatisch mit UND verknüpft.

Gruß,
Jan
__________________

Two hours of trial and error can save ten minutes of manual reading.

Geändert von Enigma (14.06.2005 um 16:36 Uhr) Grund: Rechtschreibkorrektur
Enigma ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
mod rewrite problem Sokrates_77 htaccess 1 27.12.2006 17:34
Textpattern Installation / mod rewrite Problem BeSharp htaccess 1 04.12.2006 18:55
Rewrite Problem ( webxperience htaccess 4 10.07.2006 19:11
Auch ein rewrite-Problem kailew htaccess 11 22.06.2004 11:36
rewrite Problem iStation Scriptsprachen / SQL / Anwendungen 2 13.02.2003 13:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:14 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
(C) 2000-2010, domainfactory GmbH. Es gelten die Nutzungsbedingungen und unsere AGB.