IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

FuelPHP - 404 error page not found


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Billets dans le blog
    1
    Par défaut FuelPHP - 404 error page not found
    Bonjour à tous !
    Je suis actuellement stagiaire dans une grosse structure française pour développer une application web hébergé sur un serveur uniquement accessible en intra. J'utilise le framework FuelPHP comme indiqué dans le titre. La structure de mon site est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    - assets
    - fuel
        - app
        - core
        - ...
    - .htaccess
    - index.php
    En ce qui concerne le contenu du .htaccess le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    # Multiple Environment config, set this to the required environment name
    # SetEnv FUEL_ENV production
     
    <IfModule mod_rewrite.c>
     
        # Make sure directory listing is disabled
    	Options +FollowSymLinks -Indexes
    	RewriteEngine on
     
    	# NOTICE: If you get a 404 play with combinations of the following commented out lines
    	#AllowOverride All
    	#RewriteBase /wherever/fuel/is
     
    	# Restrict your site to only one domain
    	# !important USE ONLY ONE OPTION
     
    	# Option 1: To rewrite "www.domain.com -> domain.com" uncomment the following lines.
    	#RewriteCond %{HTTPS} !=on
    	#RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    	#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
     
    	# Option 2: To rewrite "domain.com -> www.domain.com" uncomment the following lines.
    	#RewriteCond %{HTTPS} !=on
    	#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
    	#RewriteCond %{HTTP_HOST} (.+)$ [NC]
    	#RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
     
    	# Remove index.php from URL
    	#RewriteCond %{HTTP:X-Requested-With}	!^XMLHttpRequest$
    	#RewriteCond %{THE_REQUEST}				^[^/]*/index\.php [NC]
    	#RewriteRule ^index\.php(.*)$			$1 [R=301,NS,L]
     
    	# Send request via index.php (again, not if its a real file or folder)
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
     
    	# deal with php5-cgi first
    	<IfModule mod_fcgid.c>
    		RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
    	</IfModule>
     
    	<IfModule !mod_fcgid.c>
     
    		# for normal Apache installations
    		<IfModule mod_php5.c>
    			RewriteRule ^(.*)$ index.php/$1 [L]
    		</IfModule>
     
    		# for Apache FGCI installations
    		<IfModule !mod_php5.c>
    			RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
    		</IfModule>
     
    	</IfModule>
     
    </IfModule>
    pour le fichier index.php j'ai juste changé les différentes constantes pour les chemins des dossiers de l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
     
    <?php
    /**
     * Fuel is a fast, lightweight, community driven PHP5 framework.
     *
     * @package    Fuel
     * @version    1.8
     * @author     Fuel Development Team
     * @license    MIT License
     * @copyright  2010 - 2016 Fuel Development Team
     * @link       http://fuelphp.com
     */
     
    /**
     * Set error reporting and display errors settings.  You will want to change these when in production.
     */
    error_reporting(-1);
    ini_set('display_errors', 1);
     
    /**
     * Website document root
     */
    define('DOCROOT', __DIR__.DIRECTORY_SEPARATOR);
     
    /**
     * Path to the application directory.
     */
    define('APPPATH', realpath(__DIR__.'/fuel/app/').DIRECTORY_SEPARATOR);
     
    /**
     * Path to the default packages directory.
     */
    define('PKGPATH', realpath(__DIR__.'/fuel/packages/').DIRECTORY_SEPARATOR);
     
    /**
     * The path to the framework core.
     */
    define('COREPATH', realpath(__DIR__.'/fuel/core/').DIRECTORY_SEPARATOR);
     
    // Get the start time and memory for use later
    defined('FUEL_START_TIME') or define('FUEL_START_TIME', microtime(true));
    defined('FUEL_START_MEM') or define('FUEL_START_MEM', memory_get_usage());
     
    // Load in the Fuel autoloader
    if ( ! file_exists(COREPATH.'classes'.DIRECTORY_SEPARATOR.'autoloader.php'))
    {
    	die('No composer autoloader found. Please run composer to install the FuelPHP framework dependencies first!');
    }
     
    // Activate the framework class autoloader
    require COREPATH.'classes'.DIRECTORY_SEPARATOR.'autoloader.php';
    class_alias('Fuel\\Core\\Autoloader', 'Autoloader');
     
    // Exception route processing closure
    $routerequest = function($route = null, $e = false)
    {
    	Request::reset_request(true);
     
    	$route = array_key_exists($route, Router::$routes) ? Router::$routes[$route]->translation : Config::get('routes.'.$route);
     
    	if ($route instanceof Closure)
    	{
    		$response = $route();
     
    		if( ! $response instanceof Response)
    		{
    			$response = Response::forge($response);
    		}
    	}
    	elseif ($e === false)
    	{
    		$response = Request::forge()->execute()->response();
    	}
    	elseif ($route)
    	{
    		$response = Request::forge($route, false)->execute(array($e))->response();
    	}
    	else
    	{
    		throw $e;
    	}
     
    	return $response;
    };
     
    // Generate the request, execute it and send the output.
    try
    {
    	// Boot the app...
    	require APPPATH.'bootstrap.php';
     
        print_r(Uri::string());
     
    	// ... and execute the main request
    	$response = $routerequest();
    }
    catch (HttpBadRequestException $e)
    {
    	$response = $routerequest('_400_', $e);
    }
    catch (HttpNoAccessException $e)
    {
    	$response = $routerequest('_403_', $e);
    }
    catch (HttpNotFoundException $e)
    {
    	$response = $routerequest('_404_', $e);
    }
    catch (HttpServerErrorException $e)
    {
    	$response = $routerequest('_500_', $e);
    }
     
    // This will add the execution time and memory usage to the output.
    // Comment this out if you don't use it.
    $response->body((string) $response);
    if (strpos($response->body(), '{exec_time}') !== false or strpos($response->body(), '{mem_usage}') !== false)
    {
    	$bm = Profiler::app_total();
    	$response->body(
    		str_replace(
    			array('{exec_time}', '{mem_usage}'),
    			array(round($bm[0], 4), round($bm[1] / pow(1024, 2), 3)),
    			$response->body()
    		)
    	);
    }
     
    // Send the output to the client
    $response->send(true);
    Maintenant quand je tente d'accéder à l'application hébergé sur le serveur j’obtiens une erreur 404 :
    Nom : 2015_1204_fuel_4th_404.png
Affichages : 442
Taille : 17,4 Ko

    Les serveurs ne sont pas hébergé sur le site ou je me trouve et impossible de communiquer avec les webmestre ou d'accéder/modifier la config apache...

    Je tiens à préciser que tout fonctionne parfaitement sur mon serveur de dev en local ! Je remercie d'avance les personnes qui s'intéresseront à mon problème !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    A quelle URL essaies-tu d'accéder ?
    Quelle est l'URL sur laquelle tu es quand l'erreur 404 se produit ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre très actif
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Billets dans le blog
    1
    Par défaut
    Salut Sabotage !
    Ceci ce produit pour toutes les urls même la racine du site. et la page 404 n'a pas d'ip particulière, en effet ce n'est pas ma page 404 mais bien celle de fuelphp par défaut. On dirai que l'application ne parvient pas à router les différentes url mais je ne comprends vraiment pas pourquoi étant donné qu'elle y parvient sur mon serveur de dev ou je n'ai pas touché la configuration initiale de Apache, j'ai juste créé un Alias pour l'application...
    Merci de t'intéresser à mon problème !

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as vu cette indication ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # NOTICE: If you get a 404 play with combinations of the following commented out lines
    	#AllowOverride All
    	#RewriteBase /wherever/fuel/is
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre très actif
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Billets dans le blog
    1
    Par défaut
    Oui je l'ai bien vu, seulement le "AllowOverride All" provoque une erreur serveur à cause d'une interdiction de cette instruction dans la config d'apache et pour le RewriteBase j'ai essayé plusieurs valeurs mais elles aboutissent soit à une erreur serveur soit à une page 404. J'ai même essayer de bêtement tout rediriger vers le index.php (ce qui fonctionne en local) mais ça ne fonctionne pas non plus...

  6. #6
    Membre très actif
    Avatar de smarlytomtom
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Novembre 2014
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 139
    Billets dans le blog
    1
    Par défaut
    Le problème est résolu... Pour d'obscure raisons le fait de créer un contrôleur de base dont tous les autres contrôleurs hériterons dans un namespace créer des problèmes de routing sous certaines configurations d'apache, après je ne peux en donner la raison. La solution pour moi à donc été de repartir sur une installation nouvelle de FuelPHP. Je passe donc le post en résolu et merci pour ton temps Sabotage !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/07/2012, 14h21
  2. Problème "Error 404: SRVE0190E: File not found"
    Par ibousan dans le forum Websphere
    Réponses: 1
    Dernier message: 02/01/2012, 14h00
  3. [ZF 1.10] erreur 404, An error occurred Page not found
    Par sebpern dans le forum Zend Framework
    Réponses: 2
    Dernier message: 18/08/2010, 23h39
  4. [Error] File not found: 'Unit1.DFM'
    Par aliwassem dans le forum Delphi
    Réponses: 1
    Dernier message: 08/04/2007, 07h13
  5. Login - logout nouvelle fenetre "page not found"
    Par sperron dans le forum ASP
    Réponses: 1
    Dernier message: 24/01/2007, 22h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo