2017-11-17 154 views
9

Web sitemde tüm non-www için www yönlendirmeye çalışıyorum! SSL'm zaten tüm http'u https'a yönlendirecek şekilde yapılandırıldı, ancak bulduğum her şey benim için sadece kısmen çalışıyor! Ben mysite.com/en/articles/12/how-to-code yazarsanız301 yeniden yönlendirme www olmayan www için

örneğin ben bu soru olası bir tekrarı olduğunu biliyoruz ancak diğer çözümler benim için çalıştı değil, ben bu SO question çözüm denedi

www.mysite.com/en/articles/12/how-to-code olmalıydı www.mysite.com/index.php yönlendirildi am ! Apache2 kullanıyorum.

/kamu klasörde Bu benim .htaccess

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

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

peşin

cevap

6

değiştirme amacıyla teşekkürler, rewrite önce yönlendirme:

<IfModule mod_rewrite.c> 
    <IfModule mod_negotiation.c> 
     Options -MultiViews 
    </IfModule> 

    RewriteEngine On 

    # Redirect Trailing Slashes If Not A Folder... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)/$ /$1 [L,R=301] 

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

    # Handle Front Controller... 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 

    # Handle Authorization Header 
    RewriteCond %{HTTP:Authorization} . 
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
</IfModule> 

Eğer yeniden sonra yönlendirme Çünkü eğer URL, bu yeniden yönlendirme isteği için değiştirilecek ve döndürülen son sürümüdür.

+1

Teşekkürler Croises! Az önce 50 puan daha aldın! lol şimdi neden bu sırayla çalıştığını açıklayabilir misiniz ama yerleştirdiğim diğer yerde çalışmıyor mu? Belki cevabın bir güncellemesi gibi. –

+0

Birisi bana lütfen https://stackoverflow.com/questions/47475677/redirect-to-a-new-domain-using-apache-vhost-configuration –