感谢你看看这个奇怪而又笨拙的帖子。
我一直在汽车网站上工作一段时间(版本:1)这是非常基本的,现在我正在学习更多关于POO的内容,所以我想我会更新它......
我之前在Scripts网站上看到他们这样做:
示例:
websiteurl.com/scripts/view/300或websiteurl.com/scripts/view/1761/media/ 或者是websiteurl.com/scripts/view/1761/comments
我目前正在这样做:
mywebsite.com/viewCars.php?id=300但我希望不要这样做,这样做:
mywebsite.com/cars/view/300
谢谢,我希望有人理解我的问题,原谅我的拼写错误,但英语不是我的第一语言。
答案 0 :(得分:0)
假设你正在使用apache,那么soemthiing应该会给你你提到的格式
in your .htaccess file
----------------------
RewriteEngine On
RewriteBase /
RewriteRule ^cars/view/([0-9]+)$ viewCars.php?id=$1 [NC,L]
答案 1 :(得分:0)
https://mediatemple.net/community/products/dv/204643270/using-htaccess-rewrite-rules
对于您的解决方案,您可以在htaccess中编写以下代码。
RewriteEngine On
RewriteBase /
RewriteRule ^cars/view/([0-9]+)$ viewCars.php?id=$1 [NC,QSA,L]
答案 2 :(得分:0)
如果您使用的是MVC架构,则可以执行以下操作:
function __construct() {
$url = isset($_GET['url']) ? $_GET['url'] : null;
$url = rtrim($url, '/');
$url = explode('/', $url);
if (empty($url[0])) {
require 'controllers/index.php';
$controller = new Index();
$controller->index();
return false;
}
$file = 'controllers/' . $url[0] . '.php';
if (file_exists($file)) {
require $file;
} else {
$this->error();
}
$controller = new $url[0];
$controller->loadModel($url[0]);
// calling methods
if (isset($url[2])) {
if (method_exists($controller, $url[1])) {
$controller->{$url[1]}($url[2]);
} else {
$this->error();
}
} else {
if (isset($url[1])) {
if (method_exists($controller, $url[1])) {
$controller->{$url[1]}();
} else {
$this->error();
}
} else {
$controller->index();
}
}
}