抱歉,如果有人问过这个问题,或者我不确定标题是否正确,但我刚刚开始使用 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);