私は私のようないくつかのドメインを介してアクセス可能な新しいサイト持っているのColdFusion 9.0.1これは301リダイレクトを使用してどのドメイン名を使用するかを制御するのに最適な場所ですか?
を使用しています:SEOおよびトラッキングのために
mydomain.com
www.mydomain.com
foo.mydomain.com
を、私は確信して唯一の「MYDOMAINことにしたいです.com "は索引付けされ、アクセスされます。したがって、他のドメインを介して自分のサイトにアクセスしようとするすべてのリクエストは、「mydomain.com」宛の301になります。
クエリ文字列をキャプチャして保持して、ホームページに人を送信するだけではないことを確認します。
また、私はコードでリダイレクトのこの特定のタイプを行うための最善の場所です私は思ってい127.0.0.1
でローカルにサイトにアクセスできることを確認します。私の推測では、onRequestStart()メソッドの最上部付近のapplication.cfcにあります。
コードを入れるのに最適な場所ですが、このコードは完全ですか?これをコード化する良い方法はありますか?
<cfscript>
ThisHost = CGI.HTTP_HOST;
QString = CGI.QUERY_STRING;
GoToURL = "http://mydomain.com?" & QString;
if (ThisHost != "mydomain.com" && ThisHost != "127.0.0.1") {
writeOutput("<cfheader statuscode='301' statustext='Moved permanently'>");
writeOutput("<cfheader name='location' value='#GoToURL#'>");
abort;
}
</cfscript>
UPDATE
私は、これは、このタスクは、Webサーバーのスキルセットに非常に適していますので、私は、必要なものを達成するための最良の方法ではありません知っています。私は、Webサーバー上でこれを実装することができますまで、ここに私のコードは次のとおりです。
<cfscript
ThisHost = CGI.HTTP_HOST;
QString = CGI.QUERY_STRING;
GoToURL = "http://flyingpiston.com/?" & QString;
if (ThisHost != "flyingpiston.com" && ThisHost != "127.0.0.1:8500") {
location(GoToURL, false, 301);
}
<cfscript
より良い解決策は、Webサーバーレベルでこれを行うことです。 – ale
Al、それは.htaccessを使って行いますか? Hostek.comを使用して自分のサイトをホストしている場合はどうなりますか? IISホスティング会社で.htaccessを使用できますか? –
私は昨日多くの読書をして、Hostekでhtaccessを使ってURLの書き換えを行うことができると判断しました。 –