Мой сайт работал нормально на localhost, но при загрузке на удаленный сервер работает только индекс. php Страница работает. Другие URL, такие как логин (см. Ниже), не работают и возвращают ошибку 404 Not Found.
Шаблон проектирования Model-View-Controller был реализован таким образом, что все страницы сайта отображаются с помощью индекса. php с использованием соответствующего файла представления.
Проще говоря, сайт предназначен для работать следующим образом:
index. php страница хранится в: www.subdom.mysite.com/public
вход на сайт осуществляется по ссылке www.subdom.mysite.com/public/user/login где 'user' - файл класса контроллера PHP, а 'login' - метод этого класса. 'user' и 'login' используются для перезаписи URL. Метод 'login' подготавливает html, необходимый для формы входа пользователя, и передает ее в представление «index» для рендеринга в браузере.
Дополнительные функциональные возможности сайта работают на том же уровне принцип, как указано выше, например, банковский платеж через www.subdom.mysite.com/public/bank/payment
Ниже приведен мой файл .htaccess, который также хранится в папке / publi c выше. Единственное изменение, которое я сделал в этом файле после загрузки на удаленный сервер, - это строка RewriteBase.
Options -MultiViews
RewriteEngine On
######################
# Localhost version of the RewriteBase statement:
# RewriteBase /subdom/public
######################
# Remote server version of the RewriteBase statement (as displayed in host's cPanel):
RewriteBase /home2/user/subdom.mysite.com/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?atid=$1 [QSA,L]
В течение последних нескольких дней я ломал голову над этой проблемой. Я не знаю, что мне не хватает или какие поправки мне нужно внести, и поэтому буду очень признателен за вашу помощь, чтобы это заработало.