パラメータを使用した nginx リダイレクトの問題
滿天的星座
滿天的星座 2017-05-16 17:15:56
0
1
895

そうですね、キーワードを aaabbb に変更しました。
以下は、/aaabbb/anime にアクセスすると、実際に /ab_anime.php をリクエストすることを意味します

リーリー

それから、初めてクリックしたときにパラメーターが含まれるようにしたいのですが、同時にアドレスバーに表示されなくなり、更新するたびにそこに表示されます。パラメータはありません。

そこで、パラメーターがない場合、後ろに疑問符が付くかどうかを確認しましたが、役に立たないことがわかりました。
自分で $1?id=$2 使ったからでしょうか?
アドレスバーの最後に追加されたパラメータのみが消えます。しかし、それは役に立ちませんでした。

また見ました

リーリー

何をすればいいのかさえわかりません...別のものを書いて $arg を使用する必要がありますか? ? ?

滿天的星座
滿天的星座

全員に返信(1)
習慣沉默

質問者は問題を複雑にしていると思います。
もちろん、質問者のニーズを本当に理解しているかどうかはわかりませんが、次のように詳しく説明します。

  1. ユーザーリクエスト/aaabbb/アニメ

  2. nginx は /aaabbb.php?id=anime を正しく解析し、コンテンツ A をユーザーに返します

  3. ユーザーのアドレスバーには/aaabbbと表示され、コンテンツAを楽しんでいます

  4. ユーザーはブラウザを更新して /aaabbb に移動し、/aaabbb.php のコンテンツ B を楽しみます。 (または、コンテンツ A を読み続けてください)

ここにはバグがあります。リクエストが /aaabbb/anime の場合、アドレスバーは最大でも /aaabbb/anime#xxxxxx に変わります。# より前は変化せず、# より後はハッシュになります。アドレス バーを /aaabbb に変更する場合は、リダイレクト アクションが必要です。

私の考えは次のとおりです: (回答を採用する場合は、私の解決策の間違った内容についてコメントしてください)

  1. nginx書き換え戦略は

    rewrite ^/aaabbb/(w+)$ /redirect.php?target= last;

  2. redirect.php はターゲットをセッションに書き込み、リダイレクトを /aaabbb に返します (アドレス バーはこのメソッドを通じてのみ変更できます)

  3. /aaabbb/index.php に移動し、セッション内のターゲットを読み取り、それを消去し (または消去せず)、対応する php ファイルを呼び出してコンテンツを返します。

  4. /aaabbb を更新するときは、index.php に移動し、セッションに基づいてリクエストにも応答します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート