使用cpanel中的动态URI段重定向URL

时间:2014-07-14 11:34:18

标签: php html url opencart cpanel

<a href="www.mysite.com/index.php?information/adminpanel/<?php echo $id;?>" name="approve"   
 id="approve" ">Approve >></a>

当我重定向到此网址时,它会在网址中显示正确的ID,但会显示找不到网页的错误。我是cpanel的新手。请告诉我有没有其他方法可以传递此ID或如何使用uri段在cpanel中路由页面。

1 个答案:

答案 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规则,否则也将适用于您的安装。