Je travaille sur un projet PHP laravel. Je suis actuellement confronté à des problèmes avec le fichier .htaccess. J'ai suivant . Htaccess:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Quand j'ai rechargé ma page, cela m'a donné l'erreur suivante:
404 Not Found
The requested URL /contacts was not found on this server.
Ensuite, j'ai ouvert le fichier /etc/Apache2/users/username.conf
qui contenait la ligne de code suivante:
<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Dans le code ci-dessus, j'ai changé AllowOverride None
en AllowOverride All
. Ensuite, j'ai rechargé la page et j'ai eu l'erreur suivante:
403 Forbidden
You don't have permission to access /contacts on this server.
Quand j'ajoute FollowSymLinks
à .htaccess fichier Options
comme celui-ci Options -MultiViews FollowSymLinks
. Alors parfois, j'obtiens ceci 500 Erreur de serveur interne erreur et parfois ceci * Erreur 324 (net :: ERR_EMPTY_RESPONSE): le serveur a fermé la connexion sans envoyer de données *. Chaque fois que je recharge ma page, une de ces erreurs avec l'option FollowSymLinks
.
J'ai également commenté les lignes suivantes dans /etc/Apache2/httpd.conf
:
LoadModule rewrite_module libexec/Apache2/mod_rewrite.so
LoadModule php5_module libexec/Apache2/libphp5.so
et je reçois toujours la même permission, erreur refusée.
S'il vous plaît, aidez-moi, j'essaie de résoudre ce problème depuis 3 jours, mais il n'est pas encore résolu.
Veuillez vérifier si /contacts
existe avec une autorisation de dossier de 755. Les fichiers sous /contacts
doivent avoir une autorisation de 644.
Renommez également votre fichier . Htaccess actuel et créez un nouveau fichier . Htaccess avec le code suivant.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Définissez également Allowoverride
comme None
dans le fichier . Conf.
Je pense que vous voulez supprimer l'extension .php
, je vais donc vous donner le code . Htaccess pour accomplir cela:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Cela devrait être situé dans le répertoire racine.
Donc supposons qu'il y ait un fichier dans le dossier racine nommé index.php, vous pouvez alors y accéder à: site/index. Et s'il existe un dossier appelé contact avec un fichier appelé contactnow, vous pouvez y accéder à partir de: site/contact/contactnow
J'espère que vous avez compris comment fonctionne ce code.
403 Interdit Vous n'êtes pas autorisé à accéder à/contacts sur ce serveur
Assurez-vous que les dossiers Utilisateurs, Nom d'utilisateur et Sites sont chmod 755.
chmod -R 755 /home