2017-04-21 14 views
2

私は、www以外のドメインからwwwドメインへのリダイレクトに関する多くの情報があることを知っています。しかし、私の問題は、私はホームページのリダイレクトを管理できるが、サブページは管理できないということです。すべてのページを非wwwからhtaccessのwwwにリダイレクトします

私はリダイレクトがwww.ourenglishclass.eu/index.php

に起こるourenglishclass.eu/fill-in-text-5th-6th-gradeのようなURLを入力するときは、ですから、例えばhereを見ることができました私はそれがこのように動作させ、おそらくより多くの書き換えルールがあることがわかりますが、私は何を見つけることができない、またはどのように私はこれが

これらのリダイレクトのルールは/index.phpしている修正することができます

# 
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] 

私はこれらのリダイレクトルールを、 WWWのWWW:

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

と(私はhttpsでもテストだから、これはある)

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

うまくいけば、誰かが出て

答えて

1

問題が原因事実にあるように思われる道を指し示すことができますフロントコントローラールールの下にすべてを転送するリダイレクトルールを配置していることをindex.phpとし、REQUEST_URI/index.phpと同じにします。

は、このようなあなたのルールを持っている:

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] 

は、この変更をテストする前にブラウザのキャッシュをクリアしていることを確認します。

+1

説明と解決に感謝します!それは動作します! –

関連する問題