I’m getting a 404 error when opening the project on a mobile screen. I’m using the CodeIgniter framework and Mobildetect. Can you help me?
application/modules/anasayfa/controllers/Anasayfa.php
`<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Anasayfa extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper("url");
$this->load->database();
$this->load->library("session");
$this->load->library('MobileDetection'); // Mobil tespit kütüphanesini yükleyin
$this->lang->load('tank_auth');
}
public function index() {
// Mobil tespit işlemi
if ($this->mobiledetection->isMobile()) {
redirect('mobil_adres'); // Mobil yönlendirme
} else {
// Masaüstü tespit işlemi
$data["slayt"] = $this->db->select("*")->get('slayt')->result();
$data["duyuru"] = $this->db->where("durum", 1)->select("*")->get('duyurular')->result();
$this->load->view('anasayfa', isset($data) ? $data : NULL);
}
}
}
`
m/application/modules/welcome/controllers/Welcome.php
`<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
function __construct()
{
parent::__construct();
$this->load->helper("url");
$this->load->database();
$this->load->library("session");
}
public function index()
{
$data["tur_listesi"]=Genel::tur_listesi();
$this->load->view('anasayfa',isset($data) ? $data : NULL);
}
}
`
m/application/config/routes.php
`<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------------
| URI ROUTING
| -------------------------------------------------------------------------
| This file lets you re-map URI requests to specific controller functions.
|
| Typically there is a one-to-one relationship between a URL string
| and its corresponding controller class/method. The segments in a
| URL normally follow this pattern:
|
| example.com/class/method/id/
|
| In some instances, however, you may want to remap this relationship
| so that a different class/function is called than the one
| corresponding to the URL.
|
| Please see the user guide for complete details:
|
| https://codeigniter.com/user_guide/general/routing.html
|
| -------------------------------------------------------------------------
| RESERVED ROUTES
| -------------------------------------------------------------------------
|
| There are three reserved routes:
|
| $route['default_controller'] = 'welcome';
|
| This route indicates which controller class should be loaded if the
| URI contains no data. In the above example, the "welcome" class
| would be loaded.
|
| $route['404_override'] = 'errors/page_missing';
|
| This route will tell the Router which controller/method to use if those
| provided in the URL cannot be matched to a valid route.
|
| $route['translate_uri_dashes'] = FALSE;
|
| This is not exactly a route, but allows you to automatically route
| controller and method names that contain dashes. '-' isn't a valid
| class or method name character, so it requires translation.
| When you set this option to TRUE, it will replace ALL dashes in the
| controller and method URI segments.
|
| Examples: my-controller/index -> my_controller/index
| my-controller/my-method -> my_controller/my_method
*/
$route['default_controller'] = 'welcome';
$route['mobile/sport/(:any)'] = "sport/index/$1";
$route['mobile/sport/(:any)/(:any)'] = "sport/index/$1/$2";
$route['mobile/content/(:any)'] = "content/index/$1";
$route['mobile/fixture_details/(:any)'] = "fixture_details/index/$1";
$route['mobile/coupon/'] = "coupon";
$route['mobile/refreshcoupons/'] = "refreshcoupons/index";
$route['mobile/login'] = "account/login";
$route['mobile/dologin'] = "account/dologin";
$route['live_details/(:any)'] = "live/getlivedetails/$1";
$route['mobile/(:any)/'] = "$1/index";
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['mobil_adres'] = 'welcome';
//$route['(:any)'] = "welcome/seo/$1";
`
.htaccess
`<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
<FilesMatch "\.(svg|ttf|otf|eot|woff|woff2)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>`
I expected the page to load normally on mobile devices without any errors.