フレームワークなしのPHPでURLから .php をなくす

個人開発なので、PHPはフレームワークを使ってません。
最近はほとんどのサイトでPHPの拡張子がURLから見えないので、多分フレームワークのルーティングで隠蔽してるからと思います。
.phpが見えてしまうのはよろしくない気がして、WordPressのURL表示を真似して試してみたところ出来ました。

 

< コード >

Apacheのhttpd.conf

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

index.phpでインクルード



<?php

/**
 *  ルーティング
 *  .php を隠す為、メニューリンクからのリクエストはここを通る
 *  
 * First create : 2024-02-09
 * Last update :
 * 
 */

ini_set('display_errors', 0);
date_default_timezone_set('Asia/Tokyo');

// == リクエストパラメータ取得 == //
$pg = $_POST["pg"] ? $_POST["pg"] : $_GET["pg"];

if (!$pg) {
  include "./photo.php";
}
else {
  include "./".$pg.".php";
}  

Bootstrap ナビゲーションバー


<li class="nav-item" id="nav_photo">
          <a id="navlink_photo" class="nav-link tippyspan" href="./?pg=photo" target="_blank" title="写真集">写真集</a>
        </li>
        
        <li class="nav-item" id="nav_mailconfig">
          <a id="navlink_mailconfig" class="nav-link tippyspan" href="./?pg=mailconfig" target="_blank" title="メール配信設定">メール配信</a>
        </li>

コメントを残す