在opencart中找不到页面

时间:2014-02-07 11:05:28

标签: php url opencart

我正在开发opencart前端,我为每个供应商制作了子域类型的结构。如果在网址中找到供应商名称,则它将作为不同的子域

运行

如果输入的供应商名称在数据库中不存在,我想重定向到页面未找到页面。我能够检索该信息,但我不知道在哪里查看,在index.php页面或home.php或其他任何地方天气。

我的网址是localhost / user / vendor_name。

请帮助我知道从哪里可以重定向到not_found页面。

2 个答案:

答案 0 :(得分:0)

在供应商文件的前端控制器文件中添加了以下条件:

 if(vendor available){
 //Show the correct contents
  }else{

        $url = '';

        if (isset($this->request->get['path'])) {
            $url .= '&path=' . $this->request->get['path'];
        }

        if (isset($this->request->get['filter'])) {
            $url .= '&filter=' . $this->request->get['filter'];
        }

        if (isset($this->request->get['sort'])) {
            $url .= '&sort=' . $this->request->get['sort'];
        }   

        if (isset($this->request->get['order'])) {
            $url .= '&order=' . $this->request->get['order'];
        }

        if (isset($this->request->get['page'])) {
            $url .= '&page=' . $this->request->get['page'];
        }

        if (isset($this->request->get['limit'])) {
            $url .= '&limit=' . $this->request->get['limit'];
        }

        $this->data['breadcrumbs'][] = array(
            'text'      => $this->language->get('text_error'),
            'href'      => $this->url->link('vendor/vendor', $url),  //replace with vendor controllers
            'separator' => $this->language->get('text_separator')
        );

        $this->document->setTitle($this->language->get('text_error'));

        $this->data['heading_title'] = $this->language->get('text_error');

        $this->data['text_error'] = $this->language->get('text_error');

        $this->data['button_continue'] = $this->language->get('button_continue');

        $this->data['continue'] = $this->url->link('common/home');

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/error/not_found.tpl';
        } else {
            $this->template = 'default/template/error/not_found.tpl';
        }

        $this->children = array(
            'common/column_left',
            'common/column_right',
            'common/content_top',
            'common/content_bottom',
            'common/footer',
            'common/header'
        );

        $this->response->setOutput($this->render());


}

度过美好的一天!!

答案 1 :(得分:0)

.htaccess文件顶部添加以下代码,以修复404页面未找到错误。

防止目录列表

Options -Indexes

防止直接访问文件

<FilesMatch “.(tpl|ini|log)”>
Order deny,allow
Deny from all
</FilesMatch>