У меня есть четыре идентичные страницы, которые отличаются только некоторыми идентификаторами, но логика очень похожа.Все они работают на localhost.Три из этих страниц работают нормально на живом сервере, но одна из них возвращает 404. По некоторым причинам, которые я не могу понять.
Я использую XAMPP 3.2.2 и Sublime для разработки его на локальном компьютере.Я переместил его в GoDaddy Deluxe Linux для жизни.Моя версия Codeigniter 3.1.10.
Я уже попробовал ответы на большинство вопросов в StackOverflow:
Первые буквы всех названий контроллеров и моделей заглавные вимя файла и внутри файла.
Все коды .htaccess здесь: https://github.com/tasmanwebsolutions/htaccess_for_codeigniter
У меня есть два файла .htaccess, один из нихнаходится внутри папки приложения, а один снаружи.Я не знаю, если это сбивает с толку систему?Но у меня есть другой веб-сайт на другом хостинге с теми же файлами .htaccess, и они работают нормально.И вообще, если это сбивает с толку систему, почему она затрагивает только одну из четырех идентичных страниц?
.htaccess вне папки приложения
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>
.htaccess внутри папки приложения:
<IfModule authz_core_module>
Require all denied
</IfModule>
<IfModule !authz_core_module>
Deny from all
</IfModule>
Все контроллеры четырех файлов имеют верхнюю часть:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//session_start(); //we need to call PHP's session object to access it through CI
class Question1 extends CI_Controller
{
, а остальное - обычный код, который работает с тремя из этих четырех файлов.
В конфиге.php У меня есть:
$config['uri_protocol'] = 'REQUEST_URI';
и base_url - отлично.
Насколько я могу видеть, с моделями и представлениями все в порядке, а остальная часть сайта работает нормально свключенный .htaccess.Мои маршруты тоже хорошо работают.
Я так потерян сейчас.
PS.У меня есть пользовательская страница 404.Когда я ввожу Assessment.com/index.php/question1, он показывает эту пользовательскую страницу 404.Но когда я открываю Assessment.com/question1, он показывает собственную страницу 404 codeigniter (по некоторым причинам не мою).Я думаю, что это что-то говорит, я просто не знаю, что.
РЕДАКТИРОВАТЬ
Вот мои маршруты. Php:
$route['default_controller'] = 'home';
$route['404_override'] = 'Error404';
$route['translate_uri_dashes'] = TRUE;
Я выбралне делать $ route ['question1'] = "Question1";в маршрутах, потому что это ничего не меняет.