OSX Server(El Capitan)を実行しているMac Miniサーバー上で複数のサイトを実行しています。私は1つのサイトでWordPressを実行していますが、パーマリンクを正しく機能させることができませんでした。
私はこの記事の指示に従った: https://wordpress.org/support/topic/getting-htaccess-working-for-permalinks-on-mac-osx-server?replies=3
以下の提案に基づいて、私は自分のサーバーログを見ました。ログはこの出力を与えました:
[Sat Aug 13 09:15:28.081255 2016] [autoindex:error] [pid 7076] [client 17.151.38.202:49836] AH01276: Cannot serve directory /Library/Server/Web/Data/Sites/www.ecumene.com/: No matching DirectoryIndex (index.html,index.php,default.html) found, and server-generated directory index forbidden by Options directive
[Sat Aug 13 09:16:44.879836 2016] [mpm_prefork:notice] [pid 6994] AH00169: caught SIGTERM, shutting down
[Sat Aug 13 09:16:49.596197 2016] [mpm_prefork:notice] [pid 7117] AH00163: Apache/2.4.18 (Unix) LibreSSL/2.2.7 mod_wsgi/3.4 Python/2.7.10 PHP/5.5.36 configured -- resuming normal operations
[Sat Aug 13 09:16:49.596277 2016] [core:notice] [pid 7117] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Apache2/httpd_server_app.conf -E /var/log/Apache2/error_log'
[Sat Aug 13 09:16:50.291312 2016] [mpm_prefork:notice] [pid 7117] AH00169: caught SIGTERM, shutting down
[Sat Aug 13 09:16:55.105614 2016] [ssl:warn] [pid 7157] AH01916: Init: (www.ecumene.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
[Sat Aug 13 09:16:55.181103 2016] [ssl:warn] [pid 7157] AH01916: Init: (www.ecumene.com:443) You configured HTTP(80) on the standard HTTPS(443) port!
[Sat Aug 13 09:16:55.242694 2016] [mpm_prefork:notice] [pid 7157] AH00163: Apache/2.4.18 (Unix) LibreSSL/2.2.7 mod_wsgi/3.4 Python/2.7.10 PHP/5.5.36 configured -- resuming normal operations
[Sat Aug 13 09:16:55.242740 2016] [core:notice] [pid 7157] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND -f /Library/Server/Web/Config/Apache2/httpd_server_app.conf -E /var/log/Apache2/error_log -D WEBSERVICE_ON'
postdrop: warning: unable to look up public/pickup: No such file or directory
これはプラグインのないWordPressのフレッシュインストールです。これを正しく機能させるにはどうすればよいですか。私は今しばらくこれに苦労しています。
ありがとうございました。
私はいくつかのことをチェックしたい
Apache2ログ
tail -f /var/log/Apache2/error_log
でエラーログを確認してくださいtail -f /var/log/Apache2/access_log
で確認するワードプレス
これはWP loggingを有効にする方法です
wp-config.php
の前に/* That's all, stop editing! Happy blogging. */
を3行追加します。これはwp-content
フォルダにdebug.logファイルを作成します。
define('WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
あなたの404エラーが出ている間それからあなたのURLにアクセスし、あなたのログで情報がないか調べてみてください。
これらのことをチェックして、何か変なことがあれば報告してください。あなたの設定は私には問題ないようです。しかし、あなたは他に何かが足りないかもしれません。そのため、設定を間違えた場合、ログをチェックするとより多くの情報が得られるはずです。
編集
あなたの問題はDirectoryIndexディレクティブにあると思います
Cannot serve directory /Library/Server/Web/Data/Sites/www.ecumene.com/: No matching DirectoryIndex (index.html,index.php,default.html) found, and server-generated directory index forbidden by Options directive
Wordpressは、パーマリンクをクエリ変数に変換するために、舞台裏でindex.php
ファイルを使用しています。しかし現在あなたのWebサーバーはindex.php
ファイルを読むように設定されていないので(おそらくindex.html
ファイルしか許可しないでしょう)、このファイルをDirectoryIndex
ディレクティブに追加する必要があります。
あなたのhttpd.conf
を探します(おそらく/private/etc/Apache2/httpd.conf
にあります)
それから
Sudo nano /private/etc/Apache2/httpd.conf
DirectoryIndex
を検索してください。そしてこのブロックにindex.php
を追加します
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
y
を入力します。Sudo apachectl -t
Sudo apachectl restart
これはApacheにあなたのサイトディレクトリで最初にindex.php
ファイルを探すように伝えます、もし見つからなければindex.html
ファイルを試します。
これで問題は解決します。