目次
判明しました
具体的な質問 (プロジェクトは ThinkPHP3.2.3 で書かれています)
私が試した解決策
なぜですか?
返信内容:
ホームページ バックエンド開発 PHPチュートリアル プロジェクトを Linux に変更した後、$_GET[] 入力パラメータはデフォルトで URL コード化されますか? ? ?

プロジェクトを Linux に変更した後、$_GET[] 入力パラメータはデフォルトで URL コード化されますか? ? ?

Dec 01, 2016 am 12:25 AM
linux nginx php thinkphp

判明しました

サーバー: Win2003 + IIS は問題なく正常に動作します
ローカル: Win10 + Apache および Win10 + nginx は問題なく正常に動作します

最近 Alibaba Cloud CentOS7.2 と nginx1.10.2 を置き換えたプロジェクトで問題が発生しました。

具体的な質問 (プロジェクトは ThinkPHP3.2.3 で書かれています)

検索用のページにフォームフォームがあり、ボタンをクリックすると検索用のデータを取得します

リーリー

コントローラーで I('key') ($_GET['key'] に似た入力変数を取得する TP でカプセル化されたメソッド) を使用してこのキーワードを取得し、ページ番号リンクで同様の URL を生成します。以下へ

リーリー

上のページ番号リンクをクリックしてページをめくると:

  • ローカルでキーを取得する方法、または元のサーバーからキーを取得する方法に関係なく、キーは文字列「Liu」です

  • しかし、新しいサーバーでは、取得されたキーワードは文字列「%e5%88%98」です

その結果、この種の検索を含む私のオリジナルのプログラムはすべて無効になり、ページをめくることができなくなりました。

私が試した解決策

  • I('key') はデータを取得するときに urldecode を使用しますが、1 ページしかめくることができないことがわかり、何度めくってもキーは再度 URLencode されます。無限に URL コード化されます

  • URLパターンは変更できないので、この方法は諦めました

なぜですか?

Win+IIS Win+nginx は問題ありません。linux+nginx を使用するとこの問題が発生するのはなぜですか?これは私、Linux、または nginx のせいですか?

プロジェクトを通常の状態に戻すことを急いでいますので、回答を手伝ってください

返信内容:

判明しました

サーバー: Win2003 + IIS は問題なく正常に動作します
ローカル: Win10 + Apache および Win10 + nginx は問題なく正常に動作します

最近 Alibaba Cloud CentOS7.2 と nginx1.10.2 を置き換えたプロジェクトで問題が発生しました。

具体的な質問 (プロジェクトは ThinkPHP3.2.3 で書かれています)

検索用のページにフォームフォームがあり、ボタンをクリックすると検索用のデータを取得します

リーリー

コントローラーで I('key') ($_GET['key'] に似た入力変数を取得する TP でカプセル化されたメソッド) を使用してこのキーワードを取得し、ページ番号リンクで同様の URL を生成します。以下へ

リーリー

上のページ番号リンクをクリックしてページをめくると:

  • ローカルでキーを取得する方法、または元のサーバーからキーを取得する方法に関係なく、キーは文字列「Liu」です

  • しかし、新しいサーバーでは、取得されたキーワードは文字列「%e5%88%98」です

その結果、この種の検索を含む私のオリジナルのプログラムはすべて無効になり、ページをめくることができなくなりました。

私が試した解決策

  • I('key') はデータを取得するときに urldecode を使用しますが、1 ページしかめくることができないことがわかり、何度めくってもキーは再度 URLencode されます。無限に URL コード化されます

  • URLパターンは変更できないので、この方法は諦めました

なぜですか?

Win+IIS Win+nginx は問題ありません。linux+nginx を使用するとこの問題が発生するのはなぜですか?これは私、Linux、または nginx のせいですか?

プロジェクトを通常の状態に戻すことを急いでいますので、答えを手伝ってください

TPページングのソースコードにURLを生成する際にurlencode操作があります

リーリー

解決策: ページング クラスをインスタンス化するときに、検索パラメーターを 3 番目のパラメーターとして渡すことができます。詳細については、Page クラスの構築メソッドを参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Docker環境にPECLを使用して拡張機能をインストールするときにエラーが発生するのはなぜですか?それを解決する方法は? Apr 01, 2025 pm 03:06 PM

エラーの原因とソリューションPECLを使用してDocker環境に拡張機能をインストールする場合、Docker環境を使用するときに、いくつかの頭痛に遭遇します...

WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? WordPressサイトファイルアクセスは制限されています:なぜ私の.txtファイルがドメイン名からアクセスできないのですか? Apr 01, 2025 pm 03:00 PM

WordPressサイトファイルアクセスが制限されています:最近.txtファイルにアクセスできない理由のトラブルシューティング。一部のユーザーは、ミニプログラムのビジネスドメイン名を構成する際に問題に遭遇しました:�...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? 同じサーバー上のnginx構成を介してphp5.6とphp7を共存する方法は? Apr 01, 2025 pm 03:15 PM

同じシステムで複数のPHPバージョンを同時に実行することは、特に異なるプロジェクトがPHPの異なるバージョンに依存する場合、一般的な要件です。同じようになる方法...

ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? ランプアーキテクチャの下でnode.jsまたはPythonサービスを効率的に統合する方法は? Apr 01, 2025 pm 02:48 PM

多くのウェブサイト開発者は、ランプアーキテクチャの下でnode.jsまたはPythonサービスを統合する問題に直面しています:既存のランプ(Linux Apache MySQL PHP)アーキテクチャWebサイトのニーズ...

ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? ThinkPhp6ルーティング:中国語などの特殊文字を含むURLパラメーターを完全に取得する方法は? Apr 01, 2025 pm 02:51 PM

ThinkPhp6ルーティングパラメーターは、中国と完全な買収で処理されます。 ThinkPhp6フレームワークでは、特殊文字(中国語や句読点など)を含むURLパラメーターがしばしば処理されます...

ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? ThinkPhp6で2つの列のデータの合計を同時に照会する方法は? Apr 01, 2025 pm 02:54 PM

ThinkPhp6データベースクエリ:TP6を使用してSQLステートメントを実装する方法SelectSum(JIN)、Sum(CHU)ThinkPhp6フレームワークでSysdbuil、SQLステートメントの使用方法SELECT ...

See all articles