Bonjour, je suis entrain de suivre la formation Mise en pratique de la POO en PHP, et j'ai probablement un soucis de configuration de mon serveur web apache et/ou de PHP. Je rappelle que mon serveur tourne en virtuelle (vmware) sous CentOS 6.10. Le formateur utilise dans son cours utilise le serveur interne à PHP en lançant une commande similaire à :
php -S mondomaine.com:8000 -d display_errors=1 -t public/
Jusque là, tout marche correctement chez moi aussi. J'ai alors eu des soucis lorsque j'ai crée un VirtualHost pour exécuter mon application sans exécuter chaque fois la commande ci-dessus, surtout au moment je veux par exemple ouvrir le lien http://mondomaine.com/blog, je recois une Erreur 404.
Fichier /etc/httpd/conf/http.conf
NameVirtualHost mondomaine.com:80
Fichier /etc/httpd/conf.d/mondomaine.conf
<VirtualHost mondomaine.com:80>
DocumentRoot /home/user/public/
ServerName mondomaine.com
ServerAlias mondomaine.com
DirectoryIndex index.html index.php
ErrorLog logs/mondomaine-error_log
CustomLog logs/mondomaine-access_log common
</VirtualHost>
Lorsque j'ouvre le lien mondomaine.com/blog, j'obtiens une erreur 404.
Quelqu'un peut-il m'aider
Cordialement
Ajoute des fichiers .htaccess :
Un à la racine du site.
Voici son contenu :
RewriteEngine On
RewriteRule (.*) public/$1 [L]
L'autre dans le répertoire public.
Voici son contenu :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]
J'ai essayé ce que tu m'as demandé benoure mais pas de changement. J'ai tout de même jeté un coup d'oeil dans les logs. Il ressort que lorsque j'ouvre le lien mondomaine.com, il n'ya pas de message d'erreur dans le log. Mais lorsque j'ouvre le lien mondomaine.com/blog, le message d'erreur suivant s'affiche: "File does not exist: /home/user/public/blog"
ton site pointe dans le dossier public.
Tu as mis en place un fichier index qui redirige ver les bon dossiers ?
En fait en suivant le cours Mise en pratique de la POO en PHP, il y a un fichier index.php qui se trouve dans le dossier public. Ce fichier marche correctement lorsque j'utilise le serveur interne de PHP en exécutant la commande php -S comme dans la description de mon problème.