thinkphp では、「/ThinkPHP/Conf/convention.php」のパラメータを変更して、URL の大文字と小文字を区別しないようにすることができます。プロジェクト設定に「URL_CASE_INSENSITIVE=true」を追加するだけです。 URL の大文字と小文字を区別しなくても、命名規則は変わりません。
この記事の動作環境: linux7.3 システム、ThinkPHP5 バージョン、Dell G3 コンピューター。
thinkphp は URL を使用してモジュール クラスを見つけ、操作メソッドを実行します。ここで問題が発生します。これは URL の場合です。ご存知のとおり、Linux は大文字と小文字を区別します。ただし、Linux 環境の PHP 仮想ホストは、他のオペレーティング システム (Windows システムなど) よりも PHP コードをサポートしており、thinkphp の
デマンド メソッドにおけるこの矛盾を避けるために、thinkphp の URL を大文字と小文字の区別なしに通常の CMS システムの URL と同じになるようにするにはどうすればよいでしょうか?
たとえば、Linux 環境では、次の URL にアクセスするのが通常です。
//m.sbmmt.com/index.php/User/add
ただし、このように
//m.sbmmt.com/index.php/user/add
にアクセスすると、モジュールが存在しないというエラーが表示されます userAction ではなく UserAction を定義しているため、大文字と小文字を区別する環境では発生します何か問題が発生すると、ユーザー エクスペリエンスが低下します。実際、この問題を解決するのは非常に簡単です。システムが解決策を提供します。
は構成項目によって定義されます。thinkphp の構成項目は非常に重要です。
構成を変更する必要があります: /ThinkPHP/Conf/convention.php パラメーター:
以下をプロジェクト構成に追加するだけです:
‘URL_CASE_INSENSITIVE’=>true
このようにして、URL は大文字と小文字を区別しなくなります。ここで注意すべき点は、このタイプのモジュール クラス UserTypeAction を定義する場合、モジュール名の最初の 2 文字が大文字になり、下線を引くことでアクセスできることです。
http://www.51php.com/index.php/user_type/add
URL の大文字と小文字の区別はシステムの命名規則を変更しません。システムの命名規則に従うことによってのみ、URL の大文字と小文字の区別を正しく実装できます。
推奨学習: 「PHP ビデオ チュートリアル」
以上がthinkphp の URL では大文字と小文字が区別されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。