htaccess, wie man PHP-Erweiterungen versteckt

htaccess, wie man PHP-Erweiterungen versteckt

Ich versuche, die .htaccess-Datei zu verwenden, um PHP-Erweiterungen zu verbergen, aber das scheint nicht zu funktionieren. Es funktioniert, wenn sich im Verzeichnis eine HTML-Datei befindet und ich die Erweiterung .html nicht verwende.

Das ist, was ich habe.

RewriteEngine On
RewriteBase /

RewriteRule ^([^/.]+)$ $1.php [L]

Also

http://www.mydomain.com/test

Sollte zur Sprache bringen.

http://www.mydomain.com/test.php

Es sagt:

Not Found

The requested URL /test was not found on this server.

Antwort1

In der Konfigurationsdatei für die Site konnte ich das Problem beheben, indem ich MultiViews entfernte. Danach funktionierte alles wieder normal.

Antwort2

Ich habe meinen eigenen HomeServer mit Ubuntu Server und so habe ich es gemacht.

  1. Sie müssen die Apache2-Konfigurationsdatei bearbeiten, die sich in/etc/apache2/apache2.conf

    sudo nano /etc/apache2/apache2.conf
    
  2. Sie müssen die Zeile bearbeiten, sodass sie wie folgt aussieht:

    <Directory /var/www/html/>
      Option Indexes FollowSymbLinks
      AllowOverride None
      Require all granted
    </Directory>
    
    • Sie müssen das AllowOverride Nonedurch ersetzen AllowOverride Allund dann den Umschreibmodus in Apache2 im Terminal aktivieren:

      sudo a2enmod rewrite
      
  3. Starten Sie dann den Apache-Dienst neu

    sudo service apache2 restart
    

Versuchen Sie es jetzt, es sollte funktionieren.

verwandte Informationen