Heim  >  Artikel  >  Backend-Entwicklung  >  Aktivierung und Erkennung der Rewrite-Funktion des Apache Rewrite-Moduls

Aktivierung und Erkennung der Rewrite-Funktion des Apache Rewrite-Moduls

伊谢尔伦
伊谢尔伦Original
2017-03-20 15:32:142229Durchsuche

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:

8dbb30d45032417c53fd3708e3fb36fd

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

Windows Pseudostatische IIS-Einstellungsmethode unter dem Server (mit pseudostatischer Rewrite-Komponente)

Nginx detaillierte Schritte zum Rewrite pseudostatischer Regeln

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn