2017-04-21 2 views
2

Ich weiß, dass es viele Informationen gibt es auf Weiterleitungen von nicht www zu www domain. Aber mein Problem ist, dass ich die Umleitung der Homepage verwalten kann, aber nicht die Unterseiten.umleiten alle Seiten von nicht www zu www in htaccess

Sie könnten das Beispiel sehen here Also, wenn ich die URL wie eingeben ourenglishclass.eu/fill-in-text-5th-6th-grade die Umleitung passiert mit dem www.ourenglishclass.eu/index.php

ich kann sehen, dass es wahrscheinlich mehr Rewrite-Regeln, die es verursachen auf diese Weise verhalten, aber ich kann, was nicht gefunden, oder wie kann ich dieses Problem beheben

diese sind die Regeln, die

# 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
# 
# If the requested path and file is not /index.php and the request 
# has not already been internally rewritten to the index.php script 
RewriteCond %{REQUEST_URI} !^/index\.php 
# and the requested path and file doesn't directly match a physical file 
RewriteCond %{REQUEST_FILENAME} !-f 
# and the requested path and file doesn't directly match a physical folder 
RewriteCond %{REQUEST_FILENAME} !-d 
# internally rewrite the request to the index.php script 
RewriteRule .* index.php [L] 
/index.php Umleitung

Ich habe diese Umleitungsregeln aus nicht versucht www www:

#RewriteCond %{HTTP_HOST} !^www\. [NC] 
    #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

und (das ist, weil ich Tests bin auch mit https)

# Redirect to www 
    RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
    RewriteCond %{HTTPS}s ^on(s)| 
    RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

Hoffentlich jemand den Weg aus

Antwort

1

Problem aufgrund der Tatsache verweisen kann zu sein scheint dass Sie die Redirect-Regel unterhalb Ihrer Front-Controller-Regel platzieren, die alles an index.php weiterleitet und somit REQUEST_URI gleich /index.php ist.

Haben Sie Ihre Regel wie folgt aus:

RewriteEngine On 

# Redirect to www 
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

# 
RewriteRule^- [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
# 
# If the requested path and file is not /index.php and the request 
# has not already been internally rewritten to the index.php script 
RewriteCond %{REQUEST_URI} !^/index\.php 
# and the requested path and file doesn't directly match a physical file 
RewriteCond %{REQUEST_FILENAME} !-f 
# and the requested path and file doesn't directly match a physical folder 
RewriteCond %{REQUEST_FILENAME} !-d 
# internally rewrite the request to the index.php script 
RewriteRule^index.php [L] 

Vergewissern Sie Ihren Browser-Cache klar vor, diese Änderung zu testen.

+1

Vielen Dank für die Erklärung und Lösung! Das funktioniert! –

Verwandte Themen