Wordpressを使用していて、きれいなURL機能を有効にしたかったのですが、機能しません。mod_rewriteが原因だと思っていますが、有効にする方法がわかりません。 CentOS 7でのApache 2.4 ...
私はすでにこれを試しました:
grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
しかし、何も...すべてのApacheモジュールをロードすることは悪い結果をもたらすことを知りたいですか、それとも悪い習慣ですか?
モジュールがロードされているかどうかを知る方法を見つけました。有効なモジュールをリストするコマンドは次のとおりです。
apachectl -M | sort
すべての有効なモジュールをアルファベット順にリストします。
Wordpressには.htaccessがありますが、デフォルトでrewrite_module
を使用可能にします:
# 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
私がしなければならなかった唯一のことは、/etc/httpd/conf.d/vhosts.conf
のvhost.confファイルにこれを追加することでした
<Directory /var/www/mysite>
Options Indexes FollowSymLinks
Require all granted
AllowOverride All
</Directory>
そのファイルでホストを処理しているからです。ただし、httpd.conf
、または.conf
に含まれるその他のhttpd.conf
ファイルで実行できます。
ありがとう...
Apache2には、実行可能ファイルa2enmod
およびa2dismod
が同梱されています。これらは、confファイルのシンボリックリンクのすべての「汚い作業」を行います。
Debianベースのディストリビューションでは、通常の場所は/etc/Apache/mods-available/
です。以下に.conf構成ファイル(該当する場合)と、LoadModule
Apache2ディレクティブを使用したモジュールごとの.loadファイルを示します。 /etc/Apache2/mods-enabled/
に.loadファイルへのシンボリックリンクがある場合、モジュールは有効になります。
たとえば、コマンドでRewriteモジュールを有効にします
$ a2enmod rewrite
# nano /etc/httpd/conf/httpd.conf
見つける
follow (AllowOverride none)
そしてそれを変える
(AllowOverride All)
httpd.confでAllowOverride Noneを検索し、それをAllowOverride Allに変更してから、Apacheを再起動します