2016-05-13 9 views
0

[OK]を結ぶので、私は非WWWのリンクにすべてのWWWをリダイレクトする、サブフォルダを持つ非WWWへのリダイレクトWWWと

私がexample.comにwww.example.comをリダイレクトするようにしたい、と私はあまりにもそれを行うことができますこのコードを使用します。

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

しかし、ときに誰かがexample.comにサイトをリダイレクトするwww.example.com/exampleに、アクセスしようと、

私はwww.example.com/exampleをリダイレクトするか、任意の可能なコードが欲しいですサブフォルダからexample.com/exampleまたは任意のサブフォルダ。

ワイルドカードエントリのように、どうすればよいですか?

可能であれば、可能な場合は強制的にsslを入力してください。

ありがとうございます。

+1

あなたのコードは大丈夫です。ブラウザのキャッシュをクリアしてみてください – starkeen

+0

シークレットでも試してみましょう。 – Harsh

答えて

1

私が正しくあなたの質問を理解している場合:example.com/dir/anypage.htmlする

www.example.com/dir/anypage.html(同じページ)

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www.example.com [nocase] 
RewriteRule ^(.*)   http://example.com/$1 [last,redirect=301] 

をOR用途:

RewriteCond %{HTTP_HOST} ^(www\.example\.com)?$ 
RewriteRule ^(.*)$ http://example.com/subfoldername/$1 [R=301,L] 

--------代替---------

RewriteEngine on 

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

RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteCond %{REQUEST_URI} !^/subfolder/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /subfolder/$1 [L] 

RewriteCond %{HTTP_HOST} ^example\.com$ 
RewriteRule ^(/)?$ /subfolder/index.php [L] 

SSLを強制するには:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L] 
+0

以前と同じように動作しません。/ subfolderはリダイレクトされません。メインページのみにリダイレクトされます。 – Harsh

+0

RewriteRule ^(。*)$ http://example.com/subfoldername/$1(R = 301、L) ] – Lag

+0

私は、単一のサブフォルダだけでなく、すべてのために動的になることを望みます。 – Harsh

関連する問題