it-swarm.com.de

Wie aktiviere ich mod_rewrite auf Apache 2.4?

Ich verwende Wordpress und wollte ein hübsches URL-Feature aktivieren, aber es funktioniert nicht. Ich denke, es liegt an mod_rewrite, aber ich weiß nicht, wie es auf Apache 2.4 unter CentOS 7 aktiviert werden kann ...

Ich habe das schon probiert:

grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite

aber nichts ....__ Auch möchte ich wissen, dass das Laden aller Apache-Module eine schlechte Folge hat oder ist es eine schlechte Praxis?

9

Ich habe den Weg gefunden zu wissen, ob ein Modul geladen ist oder nicht. Hier ist der Befehl, die aktivierten Module aufzulisten:

apachectl -M | sort

Es werden alle aktivierten Module alphabetisch aufgelistet.

Wordpress verfügt über eine .htaccess -Datei, bei der jedoch rewrite_module für die Verwendung aktiviert wird:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Das einzige, was ich tun musste, war dies in die vhost.conf-Datei unter /etc/httpd/conf.d/vhosts.conf einzufügen.

<Directory /var/www/mysite>
    Options Indexes FollowSymLinks
    Require all granted
    AllowOverride All
</Directory>

Das liegt daran, dass ich meine Hosts in dieser Datei handle. Es könnte jedoch bei httpd.conf oder einer anderen .conf-Datei ausgeführt werden, die zum httpd.conf gehört.

Vielen Dank...

19
# nano /etc/httpd/conf/httpd.conf

finden 

follow (AllowOverride none) 

und ändern Sie es 

(AllowOverride All) 
9
reimi

Apache2 wird mit den ausführbaren Dateien a2enmod und a2dismod ausgeliefert, die die gesamte "schmutzige Arbeit" der sym-Verknüpfung von Conf-Dateien übernehmen.

In Debian-basierten Distributionen lautet der übliche Ort /etc/Apache/mods-available/. Hier sind die .conf-Konfigurationsdateien (falls zutreffend) und eine .load-Datei pro Modul mit der LoadModule Apache2-Direktive. Ein Modul ist aktiviert, wenn ein Symlink zu seiner .load-Datei im /etc/Apache2/mods-enabled/ vorhanden ist.

Sie würden beispielsweise das Rewrite-Modul mit dem Befehl aktivieren

$ a2enmod rewrite
6
marekful

Suchen Sie in httpd.conf nach AllowOverride None und ändern Sie es in AllowOverride All . Starten Sie dann Apache neu

2
Kent Aguilar