検索

ホームページ  >  に質問  >  本文

パラメータを使用した nginx リダイレクトの問題

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

リーリー

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

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

また見ました

リーリー

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

滿天的星座滿天的星座2782日前898

全員に返信(1)返信します

  • 習慣沉默

    習慣沉默2017-05-16 17:17:56

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

    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 に移動し、セッションに基づいてリクエストにも応答します。

    5. 返事
      0
  • キャンセル返事