私は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にリダイレクトしないと主張した。ログ以外にもリクエスト以外は何も表示されません。
これを引き起こしている可能性がある人はいますか?
私が気付く一つの事は、リダイレクトの新しいURLに 'theapp'の後に'/'がないことです。おそらく、これは匿名にしたときのエラーに過ぎませんでした。私はログを調べて、これがどこに生成されているのかを確認することをお勧めします。 'mod_rewrite'に' LogLevel rewrite:trace3'をメイン設定に追加し、エラーログを見直してください。それが 'mod_alias'によって行われているなら、それは通常のApacheアクセスログに301. – SuperDuperApps
@SuperDuperAppsとして表示されます - それでした!私はそれが簡単だとは信じられません。お気軽に答えを加えてください。私はそれを受け入れます。ありがとうございました。 – Chris
素晴らしい、ありがとう。うれしいことは修正されました。どちらのビットですか? – SuperDuperApps