2017-06-26 8 views
1

私はLaravelアプリケーションをFortrabbit上で実行しています。すべてのルートはAPIです(/を除く)。フロントエンドはAPIを介してバックエンドと会話します。フロントエンドはすべてのルートと同様にhttps経由で提供されます。Laravel(またはサーバー?)が1つのルートをhttpにリダイレクトしています

すべてはhttps:アセット、API呼び出しを介して動作します。 httpへのリクエストをリダイレクトする1つのルートを除くすべて。それは検索機能なので、まず私は検索のために使用しているクライアントサイドライブラリかもしれないと思ったが、私はXHRリクエストをCURLとしてコピーして端末から発射すると、リダイレクトも受け取る:

Request: 
curl 'https://theapp/?search=mak' -H 'Accept: application/json, text/plain, */*' -H 'Referer: https://theapp/' -H 'X-XSRF-TOKEN: the-token -H 'X-Requested-With: XMLHttpRequest' 

Response: 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>301 Moved Permanently</title> 
</head><body> 
<h1>Moved Permanently</h1> 
<p>The document has moved <a href="http://theapp?search=mak">here</a>.</p> 
<hr> 
<address>Apache/2.4.25 (Ubuntu) Server at theapp Port 80</address> 
</body></html> 

私はLaravelプロではありませんが、configsや.htaccessに関係なく、その動作を引き起こすものは表示されません。 APP_URLもhttps URLに設定されています。

私はリダイレクトしないアプリにはいくつかの他のGETルートがあると言いました。

私はFortrabbitチームに連絡を取ったが、httpにリダイレクトしないと主張した。ログ以外にもリクエスト以外は何も表示されません。

これを引き起こしている可能性がある人はいますか?

+1

私が気付く一つの事は、リダイレクトの新しいURLに 'theapp'の後に'/'がないことです。おそらく、これは匿名にしたときのエラーに過ぎませんでした。私はログを調べて、これがどこに生成されているのかを確認することをお勧めします。 'mod_rewrite'に' LogLevel rewrite:trace3'をメイン設定に追加し、エラーログを見直してください。それが 'mod_alias'によって行われているなら、それは通常のApacheアクセスログに301. – SuperDuperApps

+1

@SuperDuperAppsとして表示されます - それでした!私はそれが簡単だとは信じられません。お気軽に答えを加えてください。私はそれを受け入れます。ありがとうございました。 – Chris

+0

素晴らしい、ありがとう。うれしいことは修正されました。どちらのビットですか? – SuperDuperApps

答えて

1

私が気付いたことの1つは、theappの後に/がリダイレクトの新しいURLに欠けていることです。おそらく、これは匿名にしたときのエラーに過ぎませんでした。

ログを調べて、これがどこに生成されているかを確認することをお勧めします。 mod_rewriteの場合は、メイン設定にLogLevel rewrite:trace3を追加し、エラーログを確認してください。それがmod_aliasによって行われている場合、それは通常のApacheアクセスログに301として表示されます。

関連する問題