URLの書き換えは、複雑なURLを簡単でわかりやすい形式に変換することにより、ユーザーエクスペリエンスとWebサイトSEOランキングを改善するのに役立つテクノロジーです。たとえば、URL「http://example.com/index.php?page=about」を「http://example.com/about」に変換すると、ユーザーのアクセスパスを簡素化するだけでなく、検索エンジンでも簡単に含めることができます。
PHPのURL書き換えプロセス中に、最初にApacheサーバーがmod_rewriteモジュールがインストールされ、有効になっていることを確認する必要があります。 Linuxシステムでは、次を確認できます。
$ apache2ctl -M | grep rewrite_module
出力に「rewite_module」が含まれている場合、モジュールが有効になっていることを意味します。次に、Apacheの構成ファイル(httpd.confやapache2.confなど)を開き、次の行がコメントアウトされていないことを確認してください。
LoadModule rewrite_module modules/mod_rewrite.so
変更が完了したら、Apacheサービスを再起動して構成を有効にします。
.htaccessは、Webサイトのルートディレクトリに保存されている構成ファイルであり、Apacheサーバーの動作を調整するために使用できます。 URLの書き換えを有効にするには、.htaccessファイルに書き換え指令を追加する必要があります。新しいテキストファイルを作成し、次のものを追加します。
RewriteEngine On
URL書き換えルールは、URLの変換方法を指定するために使用されます。 .htaccessファイルでは、rewriteruleディレクティブを使用してこれらのルールを定義します。これが簡単なルールの例です。
RewriteEngine On
RewriteRule ^about$ index.php?page=about [L]
このルールは、「http://example.com/about」を「http://example.com/index.php?page=about」に書き直し、[l]フラグは、試合が成功した場合、他のルールが引き続き一致しないことを示します。
単純なURL変換に加えて、URL書き換えは、ファイル拡張機能の削除、ページング機能の実装、URLの美化など、多くの機能を実装することもできます。一般的な使用シナリオは次のとおりです。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]
このルールは、「http://example.com/about.php」を「http://example.com/about」に変換し、.php拡張機能を削除します。
RewriteEngine On
RewriteRule ^page/([0-9]+)$ index.php?page=$1 [NC,L]
このルールは、「http://example.com/page/2」を「http://example.com/index.php?page=2」に書き直し、URLを通じてページネーションを実装します。
RewriteEngine On
RewriteRule ^product/([0-9]+)/([a-zA-Z0-9-]+)$ product.php?id=$1&name=$2 [NC,L]
このルールは、「http://example.com/product.php?id=1&name=iphone」に「http://example.com/product/1/iphone」を書き換えて、URLの美化を達成します。
この記事では、PHPでURL書き換え技術の使用方法を紹介します。 Apacheサーバーのmod_rewriteモジュールと.htaccessファイルを構成することにより、WebサイトのURLをより簡潔で、検索エンジンの最適化に便利にし、ユーザーエクスペリエンスを向上させることができます。また、あなたのウェブ開発に役立つことを願っている一般的なURLの書き換え例をリストします。