点击包含以下路径的链接:href="/book/45"
在Apache2中使用ModRewrite:
# Enable URI Routing
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
哪个重定向到我的index.php:
function getCurrentUri()
{
$basepath = implode('/', array_slice(explode('/', $_SERVER['SCRIPT_NAME']), 0, 0)) . '/';
$uri = substr($_SERVER['REQUEST_URI'], strlen($basepath));
if (strstr($uri, '?')) $uri = substr($uri, 0, strpos($uri, '?'));
$uri = '/' . trim($uri, '/');
$uri = filter_var($uri, FILTER_SANITIZE_URL);
return $uri;
}
$uri = getCurrentUri();
$routes = array();
$routes = explode('/', $uri);
if ($routes[1] == "book") {
...
require('../views/books.php?id=$routes[2]');
break;
...
}
我收到500内部服务器错误。没有?id=$routes[2]
页面加载正常。
我的目标是能够在books.php文件中使用$_GET['id'];
引用ID。
答案 0 :(得分:0)
你不能像这样提出要求。 PHP require函数需要一个文件而不是“URL like”。你可以试试这个黑客:
$_GET['id'] = $routes[2];
require('../views/books.php');