Erreur 404 sur les hôtes virtuels utilisant des fichiers .htaccess personnalisés
P粉729198207
2023-09-05 10:28:49
<p>J'ai installé Apache2 sur un serveur Linux local. Il possède un hôte virtuel nommé <code>pcts.local</code> et son répertoire racine est <code>/var/www/repos/pcts/</code>. À la racine de pcts.local se trouve un fichier .htaccess qui tente de réécrire l'URL pour inclure .php s'il n'est pas indiqué comme suit : </p>
<pre class="brush:php;toolbar:false;">http://pcts.local/ ->
http://pcts.local/contact -> http://pcts.local/contact.php</pre>
<p>Le problème est que <code>http://pcts.local/contact</code> donne l'erreur 404, mais <code>http://pcts.local/contact.php</code> de 200. </p>
<h3>Configuration de l'hôte virtuel : </h3>
<pre class="brush:php;toolbar:false;"><VirtualHost *:80>
Nom du serveur pcts.local
Administrateur du serveur webmaster@localhost
DocumentRoot /var/www/repos/pcts
Journal des erreurs ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combiné
</VirtualHost></pre>
Le fichier <h3>.htaccess se trouve dans <code>/var/www/repos/pcts/</code></h3>
<pre class="brush:php;toolbar:false;">RewriteEngine activé
RéécrireBase/
RéécritureCond %{REQUEST_FILENAME} !-d
RéécritureCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [NC,L]</pre>
<p>Merci d'avance pour votre aide ! </p>
Dans votre code, REQUEST_FILENAME nécessite un fichier avec une extension php pour effectuer la réécriture.
Essayez ceci :
S'il s'agit de votre configuration complète, votre fichier
.htaccess
ne sera pas traité.Vous n'avez pas activé les remplacements
.) Par défaut, les remplacements.htaccess
覆盖。 (即,您尚未启用.htaccess
文件的解析。)默认情况下,.htaccess
pour un répertoire spécifique. (C'est-à-dire que vous n'avez pas activé l'analyse des fichierssont désactivés.
Mais vous n'avez pas non plus activé l'accès à cette zone du système de fichiers ? L'avez-vous fait ailleurs dans la configuration du serveur ? !
Vous devriez être dans la section
容器内有一个相关的comme ceci :
Vous pouvez restreindre davantage le remplacement.htaccess
si nécessaire (voir le lien de référence ci-dessous)
Référence :-
https://httpd.apache.org/docs/2.4 /mod/core.html#allowoverride
🎜 🎜