PHPで動的なURLを作成する方法


  1. クエリストリングを使用した動的なURL クエリストリングを使用すると、URLの末尾にパラメータを追加することができます。以下は、例です:

    <?php
    $page = $_GET['page']; // パラメータ 'page' の値を取得
    // 動的なURLの例: example.com/index.php?page=about
    if ($page == 'about') {
       // 'about' ページのコンテンツを表示
       echo "This is the about page.";
    } elseif ($page == 'contact') {
       // 'contact' ページのコンテンツを表示
       echo "This is the contact page.";
    } else {
       // デフォルトのコンテンツを表示
       echo "Welcome to the homepage.";
    }
    ?>

    上記の例では、$_GET['page'] を使用してクエリストリングのパラメータ値を取得し、それに基づいて適切なコンテンツを表示しています。

  2. URLパラメータを使用した動的なURL URLパラメータを使用すると、URLの一部にパラメータを含めることができます。以下は、例です:

    <?php
    $page = $_GET['page']; // パラメータ 'page' の値を取得
    // 動的なURLの例: example.com/index.php/about
    if ($page == 'about') {
       // 'about' ページのコンテンツを表示
       echo "This is the about page.";
    } elseif ($page == 'contact') {
       // 'contact' ページのコンテンツを表示
       echo "This is the contact page.";
    } else {
       // デフォルトのコンテンツを表示
       echo "Welcome to the homepage.";
    }
    ?>

    上記の例では、$_GET['page'] を使用してURLパラメータの値を取得し、それに基づいて適切なコンテンツを表示しています。URLパラメータを使用する場合、.htaccess ファイルを使用してリライトルールを設定する必要があります。

  3. リライトルールを使用した動的なURL リライトルールを使用すると、URLをより見やすくすることができます。以下は、.htaccess ファイルを使用したリライトルールの例です:

    RewriteEngine On
    RewriteRule ^about$ index.php?page=about [L]
    RewriteRule ^contact$ index.php?page=contact [L]

    上記の例では、URLを example.com/aboutexample.com/contact のような形式で表示することができます。リライトルールを使用する場合、Apacheのmod_rewriteモジュールが有効になっている必要があります。

これらの方法を使用すると、PHPで動的なURLを作成することができます。適切な方法は、使用する環境や要件によって異なる場合があります。