Mi sitio funcionó correctamente en localhost, pero al cargarlo en el servidor remoto, solo funciona la página index.php. Las otras direcciones URL, como el inicio de sesión (ver a continuación), no funcionan y devuelven un error 404 No encontrado.
El patrón de diseño Modelo-Vista-Controlador se ha implementado para que todas las páginas del sitio se muestren a través de index.php usando el archivo de vista apropiado.
Simplemente, el sitio está diseñado para funcionar de la siguiente manera:
La página index.php se almacena en: www.subdom.mysite.com/public
El inicio de sesión en el sitio se realiza a través del enlace www.subdom.mysite.com/public/user/login, donde 'usuario' es un archivo de clase de controlador PHP e 'iniciar sesión' es un método de esa clase. 'usuario' e 'inicio de sesión' se utilizan para reescribir la url. El método de 'inicio de sesión' prepara el html requerido para el formulario de inicio de sesión del usuario y lo pasa a la vista de 'índice' para que se represente en el navegador.
La funcionalidad adicional del sitio funciona según el mismo principio que el anterior, por ejemplo, realizar un pago bancario a través de www.subdom.mysite.com/public/bank/payment
A continuación se muestra mi archivo .htaccess, también almacenado en la carpeta /public de arriba. El único cambio que hice en este archivo después de cargarlo en el servidor remoto está en la línea 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]Me he estado tirando de los pelos durante los últimos días por este tema. No sé lo que me estoy perdiendo o qué enmiendas debo hacer, por lo que realmente agradecería su ayuda para que esto funcione.