ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP の 4 つの URL モード URL_MODEL
ThinkPHP は、通常モード、PATHINFO、REWRITE、互換モードを含む 4 つの URL モードをサポートしており、URL_MODEL パラメーターを設定することで定義できます。
1. 通常モード: 'URL_MODEL'=>0,
http://serverName/appName/?m=module&a=action&id=1
2.PATHINFO モード: 'URL_MODEL'=>1, (システムのデフォルトモード)
デフォルトで URL_PATHINFO モードを使用します。PATHINFO モードには通常モードとスマート モードも含まれます:
PATHINFO 通常モード: 'PATH_MODEL'=>1,
このモードの URL パラメータには順序はありません (例:
http://serverName/appName/)。 m/module/a/action/id/1
http://serverName/appName/a/action/id/1/m/module
PATHINFO スマート モード:'PATH_MODEL'=>2, (システムのデフォルト モード)
このモードは、
http://serverName/appName/module/action/id/1/
http://serverName/appName/module,action,id,1/ などのモジュールと操作を自動的に識別します。スマート モードでは、ページ1 つのパラメータはモジュール名 (または後述のルート名) に解析され、2 番目のパラメータはオペレーションに解析され (最初のパラメータがルート名でない場合)、後続のパラメータは明示的に渡され、 に出現する必要があります。ペア、例:
http://serverName/appName/module/action/year/2000/month/01/day/01/
パラメータ間の区切り文字は PATH_DEPR パラメータによって設定され、デフォルトは「/」です。 PATH_DEPR が "^" に設定されている場合、
http://serverName/appName/module^action^id^1/
分離に "@" 記号と "&" 記号を使用しないように注意してください。この記号には特別な目的があります。他の紛争を引き起こす可能性があります。
URLの形式を簡略化したい場合は、ルーティング機能(後述)を利用することで、PATHINFOモードで該当パラメータをGET変数に変換してREQUEST変数に組み込むことができるため、取得に支障をきたすことはありません。アプリケーション内の上記の変数。
3.REWRITE モード: 'URL_MODEL'=>2,
この URL モードは PATHINFO モードと同じ機能を持ちますが、URL にエントリ ファイルを記述する必要がなく、.htaccess ファイルを定義できる点が異なります。
たとえば、次の .htaccess コンテンツを追加して、すべての操作をindex.php ファイルに指示できます。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]
4. 互換モード: 'URL_MODEL' =>3,
互換モードは通常モードと PATHINFO モードを組み合わせたもので、アプリケーションはテンプレートやプログラムを変更することなく、必要に応じて PATHINFO モードに直接切り替えることができ、基本的にはあらゆる動作環境をサポートできます。
変数 VAR_PATHINFO を取得するには、PATHINFO 互換モードで渡すだけです。たとえば、
http://serverName/appName/?s=/module/action/id/1/
は操作を実行します。たとえば、PATH_DEPR が「~」に設定されている場合、次の URL が有効です:
http://serverName/appName/?s=module~ action~id~1
互換モード この場合、PATHINFO モードと同じで、テンプレート ファイルを変更する必要はありません。URL モードを切り替えるときに、テンプレート キャッシュ ディレクトリをクリアするだけで済みます。
上記は、ThinkPHP の 4 つの URL モード URL_MODEL を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。