<a href="www.mysite.com/index.php?information/adminpanel/<?php echo $id;?>" name="approve"
id="approve" ">Approve >></a>
当我重定向到此网址时,它会在网址中显示正确的ID,但会显示找不到网页的错误。我是cpanel的新手。请告诉我有没有其他方法可以传递此ID或如何使用uri段在cpanel中路由页面。
答案 0 :(得分:0)
除非您以某种方式更改了.htaccess
文件中的路由,否则很可能您缺少URL中的部分内容。
正确的URL应该是(如果你没有改变任何东西)
www.mysite.com/index.php?route=information/adminpanel&some_id=<?php echo $id ?>
请注意,controller/action
部分应作为变量route
下的查询字符串的一部分发送,并且ID变量必须是查询字符串的一部分以及您命名的部分它变量,然后从控制器中的$_GET['younameit']
获得。
OpenCart中的路由可以通过SEO URL(如
)完成www.mysite.com/category-slug/sub-category-slug/product-slug
甚至
www.mysite.com/product-slug
虽然这些正由mod_rewrite
规则转换为
www.mysite.com/index.php?_route_=<SEO_URL_PART>
或非SEO页面,您需要指定控制器
www.mysite.com/index.php?route=common/home
调用index()
的默认CommonHomeController
操作,或者甚至通过指定要调用的具体操作,如
www.mysite.com/index.php?route=checkout/cart/add
调用add()
的{{1}}操作。因为这会调用像
CheckoutCartController
会导致尝试在www.mysite.com/index.php?route=information/adminpanel/123
内调用最可能不存在的操作123()
。如果你调用URL
InformationAdminpanelController
当您可以获得www.mysite.com/index.php?route=information/adminpanel&some_id=123
这样的值时,将会调用index()
操作:
some_id
再次 - 上述所有内容都是默认的OpenCart路由行为,除非您更改了if (!empty($this->request->get['some_id'])) {
$some_id = $this->request->get['some_id'];
} else {
$some_id = 0;
}
if ($some_id) {
// ...
}
文件中定义的mod_rewrite
规则,否则也将适用于您的安装。