原始网址
mydomain.com/main/portfolio
现在我需要使用以下Route成功完成URL中的控制器名称删除:
//Controller Name: main
$route['(:any)'] = "main/$1";
我的新网址很好:
mydomain.com/portfolio
但原始网址仍可访问,我不希望用于搜索引擎优化目的:
mydomain.com/main/portfolio
如何让我的正常网址正常运行并阻止旧网址。
感谢。
答案 0 :(得分:1)
您可以创建一个未找到的页面,并将不需要的路由重定向到该页面。 例如,您可以创建错误控制器:
class Error extends CI_Controller {
public function error_404() {
// send 404 header
$this->output->set_status_header('404');
// load a custom not found page view template
$this->load->view('error_404');
}
}
然后在routes.php中,你可以捕获那些包含" main /"的URL。像这样:
// this should be placed above the (:any) route
$route['main/(:any)'] = 'error/error_404';
$route['(:any)'] = "main/$1";
答案 1 :(得分:0)
RedirectMatch "^/main/(.*)" "http://www.example.com/$1"
更多可用示例here。