2017-08-20 8 views
0

別のドメインにリダイレクトされるだけでなく、別のフォルダ構造にリダイレクトするためにはどのようなhtaccessルールを適用する必要がありますか?例:私は一人でドメイン名の書き換えルールが正常に動作します別のドメインと別のフォルダにリダイレクトするにはどうすればよいですか?

RewriteEngine on 
RewriteRule ^(.*)$ https://newwebsite.com/$1 [R=301,L] 

だろうと考え出し、現在のページが

http://oldwebsite.com/school/forum 

で、新しいウェブサイトが

https://newwebsite.com/forum 

だろう私はそれをテストする。 しかし、不要なサブフォルダにある古いフォーラム投稿を、/ forumに直接入っている新しいドメインに書き換えるためには、どのようなルールが必要かを知ることはできません。

また、http:と書く必要がありますか?SSL証明書を持っていて、フォーラム(この場合はphpbb3)がSSLに設定されていれば自動的に行われます。

おかげで、よろしく、 アンディ

答えて

0

これは、あなたが私のために探しているものであるが前提としています。ルール

RewriteEngine on 
RewriteRule ^/?school/(.*)$ https://newwebsite.com/$1 [R=301] 

は、httpサーバのホスト構成で、同様に動的構成ファイルで動作します( .htaccess)、ホスト文書ルート。明らかに、書き換えモジュールを有効にする必要があります。動的構成ファイルを使用する場合は、さらにAllowOverrideディレクティブを使用してそれを許可する必要があります。

httpsプロトコルを指定する必要があります。これは、リダイレクトされたクライアントが接続先となるためです。それはクライアントがの前にサーバーと接触していると判断しなければならないものです。だから、SSL証明書がインストールされているかどうかは本当にそれを助けません。 mightyは、新しいドメインのhttpからhttpへの追加のリダイレクトに依存しますが、その理由は何ですか?最初にSSLポートに直接リダイレクトするほうがはるかに優れています。

一般的なヒント:動的構成ファイル(.htaccessスタイルファイル)を使用する代わりに、常にこのようなルールをhttpサーバー(仮想)ホスト構成内に配置することをお勧めします。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは唯一のあなたは、ホストの構成を制御できない状況のための最後のオプションとしてサポートされています(読み:本当に安いホスティングサービスプロバイダ)のか、明らかなセキュリティの悪夢である(独自の書き換えルールを書くことに依存しているアプリケーションがある場合)。

+0

あなたの答えをありがとう、ルールは動作するようです!そして、私は2つのルールの順序も重要だと思いますよね? 私はhttp://htaccess.madewithlove.be/でテストしました。 RewriteRule ^(。*)$ https://newwebsite.com/$1 [R = 301、L]があなたの上にある場合、仕事。 あなたの上にあなたのものと私の下に私のすべての場合に動作するようです。メインサイトの通常のURLか、サブディレクトリのフォーラムのURLかどうか。 – andi90

+0

確かに、ルールの順序は重要です。それらは上から下への単純なプロセスです。最初の試合は適用されます。それがローカルである外部リダイレクトの場合、それ以上のルールは評価されません。経験則として、最初に特定のルールを、次により一般的なルールを配置します。そして、ここで議論されるような例外的なルールが上にあるはずです。最初に他のルールを評価するのは意味がありません。 – arkascha

+0

ああ、大丈夫、束arkascha、大助け! :) – andi90

関連する問題