Verschiedene Apache-Versionen und Betriebssysteme haben häufig unterschiedliche Konfigurationsdateinamen und Konfigurationsverwaltungsmethoden. Beispielsweise kann das Installationsverzeichnis httpd oder apache2 sein, und die Konfigurationsdateinamen und Lademodulmethoden sind möglicherweise auch unterschiedlich Dies ist eine Regel, aber schließlich sind die meisten unserer Benutzer keine Netzwerkadministratoren. Sie verbringen den ganzen Tag damit, Apache zu konfigurieren und nach Informationen zu suchen, wenn die Pfade der beiden Dateien falsch sind großes Problem. Kommen Sie auf den Punkt.
Die Standard-Rewrite-Funktion von Apache ist deaktiviert, aber sein Rewrite-Modul ist geladen. Daher sollten wir nicht nur damit beschäftigt sein, .htaccess-Dateien zu schreiben. Überprüfen Sie zunächst, ob unser Apache erkannt wurde uns.htacess.
1. Überprüfen und bestätigen Sie, dass das Rewrite-Modul geladen ist
Der Test dieses Artikels fand auf dem CentOS 6-System statt, der Pfad lautet: /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
Wenn davor ein Kommentar steht, entfernen Sie ihn einfach und starten Sie APACHE neu.
Wenn Sie zur Installation den systemeigenen Befehl verwenden, z. B. yum install oder apt-get install, kann die Zeile
LoadModule rewrite_module modules/mod_rewrite.so
nicht in httpd.conf/apache2.conf gefunden werden Laden Sie das Rewrite-Modul:
Nach der Ausführung des Befehls
sudo a2enmod rewrite
im Terminal wird das Modul Mod_rewrite aktiviert.
Alternativ können Sie das Mod_rewrite-Modul aktivieren, indem Sie /etc/apache2/mods-available/rewrite.load mit /etc/apache2/mods-enabled/rewrite.load verbinden. Die Befehlsoperation lautet:
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
2. Überprüfen und bestätigen Sie, dass das Verzeichnis Rewrite aktiviert ist
Das Laden der Rewrite-Bibliothek bedeutet nicht, dass unsere .htaccess-Datei auch für Sie wirksam wird Sie müssen den AllowOverride-Schalter des angegebenen Verzeichnisses speziell aktivieren. Das Skript lautet wie folgt:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
AllowOverride kann nur im Verzeichnisabschnitt definiert werden. Informationen zur spezifischen Verwendung finden Sie in den offiziellen Apache-Anweisungen (Link unten). Das obige Skript wird im Allgemeinen in httpd.conf oder /etc/httpd/ platziert. Versuchen Sie unterhalb von conf.d/vhost.conf, die Website-Konfiguration zu aktualisieren:
werden zur einfachen Wartung gemeinsam definiert.
3. Testen Sie die Rewrite-Funktion
Das Folgende ist ein .htaccess-Testbeispiel:
# BEGIN <IfModule mod_rewrite.c> RewriteEngine on RewriteBase / RewriteRule .*$ </IfModule> #END
Methode testen, kopieren und als .htaccess speichern, ins Stammverzeichnis hochladen Besuchen Sie im Verzeichnis der Website eine beliebige Pfadseite auf der Website, um zu diesem Blog zu springen, was darauf hinweist, dass Rewrite wirksam geworden ist.
Verwandte Artikel:
Einstellungen des Laravel Framework Rewrite unter Nginx
Nginx detaillierte Schritte zum Rewrite pseudostatischer Regeln