【发布时间】:2020-03-09 11:22:47
【问题描述】:
我正在协助一个 Codeigniter 网站,但没有相关背景。已经注意到存在重复的页面内容。当我深入研究时,它们不是实际的页面,而是指向相同视图的控制器。我试图在网站根目录下的 .htaccess 文件中设置 301 重定向,但没有成功。在 application/config/routes.php 中,注释如下:
$route['default_controller'] = 'Home';
$route['404_override'] = 'Home';
例如,有一个页面http://mywebsite.com/weddings,然后http://mywebsite.com/Home/weddings 是另一个指向同一个视图的控制器。在删除指向它的附加控制器后,我试图从 Home/weddings 添加 301 重定向,但现在 Home/weddings 只是重定向到主页,因为它设置了 404 覆盖。我希望我已经提供了足够的信息来提供一些帮助。
.htaccess 文件:
RewriteEngine On
RewriteBase /
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]
# allow access to certain directories in webroot
RewriteCond $1
!^(index\.php|robots\.txt|css/|lib/|js/|images/|^(.*)/images)
# gets rid of index.php
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# page redirects
RedirectMatch 301 ^Home/weddings/$ /weddings
Home.php如下:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Admin_model');
$this->load->model('Home_model');
$this->load->helper('captcha');
$this->load->library('recaptcha');
}
public function weddings()
{
$this->load->view('Template/Home/front_header');
$this->load->view('Home/weddings');
$this->load->view('Template/Home/front_footer');
}
【问题讨论】:
标签: php codeigniter duplicates