2016-04-23 26 views
0

ich eine App auf meinem Server im /app/ Ordner, die ich auf der Stamm-URL http://myapp.com mit den folgenden .htaccess Regeln am zeigt:.htaccess Kraft SSL mit Unterordner Rewrite-Regel

RewriteEngine On 
RewriteRule ^$ /app/ [L] 
RewriteCond %{DOCUMENT_ROOT}/app/%{REQUEST_URI} -f 
RewriteRule ^(.*)$ /app/$1 [L] 

Was ich tun möchte, ist auch zwingen SSL dafür immer https://myapp.com mit dieser Einrichtung zu verwenden.

Ich habe eine Reihe von verschiedenen Regeln ausprobiert, aber nichts scheint die SSL zu erzwingen und auch den/app/Unterordner im Stamm angezeigt.

Antwort

1

können Sie Folgendes verwenden:

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R] 
RewriteRule ^$ /app/ [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ /app/$1 [L] 
+0

Mit diesem bekomme ich einen Fehler in Chrome: ERR_TOO_MANY_REDIRECTS – Ian

+0

@Ian Ich habe die Umschreibungsbedingungen aktualisiert, versuche es jetzt – starkeen

+0

Leider zeigt es immer noch eine zu viele Umleitungen Fehler:/Es könnte sein, dass meine ursprünglichen Regeln nicht ideal sind. Wirklich, ich will nur, dass es SSL und nicht-www erzwingt, zeige den App-Ordner im root an und schreibe die css/js-Datei-URLs neu, die sich in/app/befinden, so dass sie im root erscheinen. – Ian

0

meinen Gastgeber hat seine eigene besondere Art und Weise, dies zu tun Es stellt sich heraus. Ich hatte folgende zu tun, um es arbeitet:

RewriteEngine On 
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTP_HOST} ^(www\.)?(.+) 
RewriteRule^https://%2%{REQUEST_URI} [R=301,L] 
RewriteRule ^$ /app/ [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ /app/$1 [L] 

Das einzige Problem ist jetzt, dass ich scheine die www zu zwingen, nicht-www zu umleiten.

Verwandte Themen