この質問がされた場合、またはタイトルが正しいかどうかわからない場合はお詫びしますが、htaccess ファイルを扱い始めたばかりで、少し迷っています。基本的にやりたいことは、URL の先頭に「index.php」を追加することです。たとえば、ユーザーが次のように入力した場合:
http://www.example.com/show/12
htaccess ファイルに URL を作成してもらいたい:
http://www.example.com/index.php/show/12
それが不可能な場合、常に index.php フロント コントローラーに移動し、「show/ number」を URL に追加して、フロント コントローラーがパラメーターを別のコントローラーに渡すことができるようにする方法はありますか?
私のhtaccessコードは次のとおりです。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php
すべての URL リクエストが index.php フロント コントローラーに送られ、残りの URL をフロント コントローラーに渡すと想定する必要があります。
私が取得し続けるエラーは次のとおりです。
The requested URL /testing-mod-rewrite/show/12 was not found on this server.
これが役立つ場合、フロントコントローラーのPHPコードは次のとおりです。
include_once('controllers/baseController.php');
$uri = $_SERVER['REQUEST_URI'];
$urifinal = str_replace($uri , '/', $uri);
$request = explode('/', $_SERVER['REQUEST_URI']);
$controller = new BaseController();
$controller->index_action($request);