2012-03-20 13 views
0

です。これまで、いくつかのアクションを実行する前に以下のドメインチェック方法を使用していましたが、常に特定のページ(.phpなどで終わっていました。今度は私のホームページで同じチェックをしたいと思っています。これは常にdomain.comとして表示され、/index.phpやその他のものはありませんが、これらの方法のどちらも動作させることはできません。私はdevサーバでこれをテストしていますので、dev.domain.comURLがこれと等しい場合は

私は自分のホームページでのみ実行したいスクリプトがあり、CMSとスクリプトはそれを行う方法ですテンプレートに何かを作成してホームページにのみ表示させるのが最も簡単な方法です。

<?php 
$host = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; 
if($host == 'dev.domain.com') { 
include("/js/cover.js"); 
} 
else 
{ 
include("/js/nocover.js"); 
} 
?> 


<script> 
if (location.href.indexOf("dev.domain.com") !== -1) 
{ 
jQuery(document).ready(function() { 
jQuery('#cover').delay(500).fadeOut(500); 
});  
} 
</script> 

EDIT 1:

は、ここで私は仕事に取得することができていないPHPとJSのメソッドをだだから、次のようになりますか?

if($_SERVER['HTTP_HOST'] == 'dev.domain.com') { 

は、私が思うstrtolower()でそれをラップすることをお勧めかもしれませんが、私は関係なく、ユーザー入力の小文字としてほとんどのクライアントはそれを送信すると思う:

<?php 

if (basename($_SERVER['PHP_SELF']) == 'dev.domain.com') 
{ 
if($_SERVER['HTTP_HOST'] == 'dev.domain.com') 
{ 
include("js/cover.js"); 
} 
else 
{ 
include("js/unclick.js"); 
} 
} 

?> 
+1

あなたは '$ _SERVER ['HTTP_HOST']'を使ってみましたか? – ianbarker

+1

REQUEST_URIに '/'が含まれているかどうかを確認します。実際には、$ hostを 'dev.domain.com /'にして、 'if $ host =='のものに失敗するかもしれません。 –

+0

ページにJavaScriptエラーが表示されていますか?私の容疑者は、jsが適切に含まれているかどうかです。さもないと、あなたはこの raddykrish

答えて

3

あなたが探している値が$_SERVER['HTTP_HOST']です。

$_SERVER['SERVER_NAME']には、Webサーバーのconfigに定義されているサーバー名の値が含まれます。これはページにアクセスするために使用されたホスト名と一致しない可能性があります。 $_SERVER['REQUEST_URI']には、要求されたファイルのパス(ドキュメントルートからの相対パス)が含まれています。要求されたページと比較するのではなく、単にホスト名と比較するので、ここではこれは必要ありません。

精密検査の際

EDITは、それはあなたがincludeに渡しているパスを使用して、実際にあるhaingされている問題のように見えます。 includeは、ローカルファイルシステムパス、ではなく、をブラウザから使用するパス構造と同じにしてください。あなたがする必要があるすべては同じように、あなたのパスから先頭/を削除している可能性があり:それはあなたが/jsというディレクトリ内のファイルシステムのルートからファイルをインクルードしようとしているあるので

include("js/cover.js"); 
//  ^^ remove the slash from here 

- 私は実際には疑いの余地があります。この状況では相対パスを使用するので、スラッシュを削除してください。

+0

includeステートメントのいずれかのファイルを表示することはできません。それは意味をなさないelseも表示されます。私はあなたの方法と私が使用していたものを試しました、同じ結果。私はパスが正しいことを100%確信している、私はそれらをブラウザに貼り付けることができ、それらを開いても問題ない。 – miles

+0

Ahhhh ...待って、ハングアップ、私は問題を参照してください。 1分で編集を参照してください。 – DaveRandom

+0

ああ、やった!しかし、最初のファイルがdomain.comだけでなく、domain.com/products.htmlなどのすべてのページに含まれているようです。これを防ぐことができる方法はありますか? – miles

関連する問題