.htaccessファイルを正しく動作させることができません。
Apache2.conf
ファイルには次のものがあります。
<Directory /home/felix/mysite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
しかし、これは何も変えません。 Webサイトの別のページにアクセスしようとすると、404エラーが表示されます。
詳細情報の編集:
Ubuntu 16.04
Apache 2.4
サイト内sites-available
にあるmysite.se.conf
ファイルは次のようになっています。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/felix/mysite
ServerName mysite.se
ServerAlias www.mysite.se
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
Apache2.confからこの部分を削除してみました。
<Directory /home/felix/mysite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
そして今、このメッセージを受け取りましたYou don't have permission to access / on this server. Server unable to read htaccess file, denying access to be safe
。
その部分を追加し直しても、このメッセージが表示されます。
私が仕事を始めようとしているサイトはワードプレスで構築されています。このサイトのルートフォルダ内には、次のような.htaccessファイルがあります。
# supress php errors
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0
# End Error
# BEGIN WordPress
<IfModule mod_rewrite.c>
ReewriteEngine On
eRewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
問題は、これらの設定が別のUbuntuマシンで機能することです。そして、サーバー管理者は私のエラーを見つけることができませんでした。それで、彼はおそらくそれがApache2設定のいくつかの欠陥だと言った。しかし、私はそれを見つけることができません、すべてがそうあるべきようです。
これは間違いだと思う: https://www.digitalocean.com/community/questions/wordpress-permalinks-not-working-on-ubuntu-14-04
具体的には、Also make sure your .htaccess file has the proper permissions for WP to write to it. You'll see an error if it doesn't.
適切な許可に変更するにはどうすればよいですか?
解決:
より良い解決策を提供できないことを残念に思います。しかし、私がしたことはSudo a2enmod rewrite
、そしてSudo service Apache2 restart
だけでした。初めてこれをしたとき、エラー(500サーバーエラーまたは403アクセス許可エラー、覚えていない)がありましたが、今朝もう一度試してみましたが、うまくいきました。したがって、私のファイルは上記のように見えます。
mysite.se.conf
を編集してみてください:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/felix/job/fello
ServerName test.fello.se
ServerAlias www.test.fello.se
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
<Directory "/home/felix/job/fello">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
そして、あなたのサイトへのパスを確認してください/home/felix/mysite
または/home/felix/job/fello
?