2016-10-30 20 views
0

私のヘッダータグが正しくリダイレ​​クトされず、理由がわかりません。これは私のラインです:相対パスのある場所のヘッダーがリダイレクトされない

header('Location:../destination.php'); 

ファイルは次の場所にあります。今www.example.com/one/two/example.php

、私は(それが必要のような)のページを入るとすぐにリダイレクトされます場合は、それはwww.example.com/one/two/example/destination.php代わりのwww.example.com/one/destination.phpをロードします。

現在のパスにdestination.phpを追加するだけです。非常に奇妙な。

+0

「one」という名前のフォルダにdestination.phpはありますか? – Akshay

+0

私はあなたが 'v1 - > v2'から私のサイトを作っていたときに、これを通ってパス全体を渡す必要があると思います。' header( 'Location:/ where/you/want/to/go/index.php ') 'が間違っている可能性があります。 :-) – Jek

答えて

1

はこれを試してみてください:質問はあなたがhttp://https://を使用しているかどうかを指定していないので、

header("Location: //www.example.com/one/destination.php"); 

私はスキームレスURIを使用していました。

相対パスは許容されますが、仕様では絶対URIを使用する必要があります。私は一貫性のためにそれに頼っています。

14.30 Location

ロケーションレスポンスヘッダフィールドは要求 または新しいリソースの識別を完了するためのRequest-URI以外の場所にレシピエント をリダイレクトするために使用されます。

フィールド値は単一の絶対URIで構成されます。

Location  = "Location" ":" absoluteURI 
+1

httpsのサイト/環境にある間に、スキームレスURLは、Google/jQueryスクリプトなどからのJS/CSSファイルへのhttps呼び出しにも使用できます。 –

+1

早急な提案:マニュアルの提案どおりに、今後使用するコードや使用するコードの下にさらにコードがあれば、実行を妨げる 'exit;'ヘッダを追加するhttp://php.net/manual/ ja/function.header.php –

関連する問題