ホームページ >php教程 >php手册 >ThinkPHPのURL書き換え+ルーティング+擬似静的でSEO効果を実現します。

ThinkPHPのURL書き換え+ルーティング+擬似静的でSEO効果を実現します。

WBOY
WBOYオリジナル
2016-10-17 09:11:151393ブラウズ

1. URL を書き換え、URL に Index.php を隠します。

ThinkPHP は PHP フレームワークとして、エントリ ポイントが 1 つしかないため、元の URL はそれほど使いやすいものではありません。ただし、ThinkPHP には、必要な URL 形式をカスタマイズするためのさまざまなメカニズムが用意されており、Apache .htaccess ファイルを使用すると、SEO に適したユーザー フレンドリーな URL アドレスをカスタマイズできます。

.htaccess ファイルは、Apache サーバー内の構成ファイルであり、関連するディレクトリ内の Web ページの構成を担当します。 .htaccess ファイルの書き換えルールを使用して、ThinkPHP URL 内のindex.php ファイル (つまり、エントリ ファイル) を非表示にすることができます。これは、擬似静的 ThinkPHP URL の最初のステップでもあります。

たとえば、元の URL は次のとおりです:

http://www.baidu.com/index.php/Index/insert

index.phpを削除すると、次のようになります:

http://www.baidu.com/Index/insert

このようにすると、 http://Webページアドレス/アプリケーションモジュール名/オペレーション名[/変数パラメータ] という共通のURL形式になります。

Apache httpd.conf 設定ファイルを変更する

1. mod_rewrite.soをロードしました

mod_rewrite.so モジュールがロードされていることを確認します (次の設定の前に # を削除します):

LoadModule rewrite_module modules/mod_rewrite.so

2.AllowOverride 設定を変更します

.htaccess ファイルを読み取る必要があるディレクトリを変更し、元のディレクトリをコメントアウトします。

#

「AllowOverride None」を「AllowOverride FileInfo オプション」に変更します。

変更された構成は次のとおりです:

#

FileInfoOptions の上書きを許可する

.htaccess はディレクトリ に基づいて制御されます。 この文は、.htaccess ファイルを読み取る必要があるディレクトリを、Apache の実際の解析ディレクトリに従って設定する必要があることを意味します。仮想ホストが .htaccess 制御を提供する場合、通常は設定されています。

3. .htaccess ファイルの書き換えルールを追加します

index.php を隠す必要があるディレクトリに .htaccess ファイルを作成し、次のルール コードを記述します。

リライトエンジンオン

#index.phpを表示しない

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$index.php/$1 [QSA,PT,L]

4. プロジェクト設定ファイルを変更します

プロジェクト設定ファイル Conf/config.php を編集し、URL モードを 2 (書き換えモード) に設定します。

'URL_MODEL'=>2,

この時点で、すべての設定が完了しました。各設定ファイルを保存した後、Apache サーバーを再起動し、ランタイム ディレクトリ内のプロジェクト キャッシュ ファイルを削除します。ブラウザで非表示のindex.php の背後にあるアドレスにアクセスして、成功したかどうかをテストします。

http://www.baidu.com/html/myapp/Index/index

アクセスが成功すると、Apache .htaccess ファイルの書き換えルールを使用して、index.php エントリ ファイルの構成を非表示にすることが成功します。

2. URL の長さを短くするようにルーティングを設定します。

次のコードを共通設定ファイルに追加します

リーリー

3. 疑似静的、URL に .html 接尾辞を追加します

ThinkPHP は擬似静的 URL 設定をサポートしており、必要な URL サフィックスを設定できます。プロジェクト設定ファイル Conf/config.php を編集し、
URL_HTML_SUFFIX パラメータを次のように設定します:
'URL_HTML_SUFFIX' => '.html',

Runtime ディレクトリ内のプロジェクト キャッシュ ファイルを削除して設定を有効にした後、ブラウザで次のアドレスを入力しても、効果は同じです:

http://127.0.0.1/html/myapp/index.php/Index/index
http://127.0.0.1/html/myapp/index.php/ Index/index.shtml

at パラメータ設定では、その他の必要なサフィックスも設定できます。サフィックスの設定には . 記号が含まれることに注意してください。
擬似静的を設定した後、どこでも URL の一貫性を保つために、U メソッドを使用してテンプレート内で URL を自動的に生成することをお勧めします。詳細については、「URL を自動的に生成する ThinkPHP U メソッド」を参照してください。

ヒント:
ThinkPHP の疑似静的には誤解されやすい側面があります。疑似静的な設定後、システムは xxx.html などの URL を自動的に生成します。実際はこのようにはなりませんが、前述したように、擬似静的設定後は、.htmlなどのサフィックスの有無により、サフィックスなしのURLアクセスと同様の効果が得られます。したがって、擬似静的を使用する場合は、静的サフィックスを手動で追加するか、ThinkPHP U メソッドを使用してサフィックス付きの URL アドレスを自動的に生成することしかできません。もちろん、ここでは、疑似静的アドレスを持つ URL 形式を自動的に生成する U メソッドを使用することをお勧めします。

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