apache2 virtualhost .htaccess файл не работает
Я не могу заставить мой файл.htaccess работать правильно.
В моем apache2.conf файл у меня следующий.
<Directory /home/felix/mysite>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Но это ничего не меняет. Я все еще получаю сообщение об ошибке 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,
Я получаю это сообщение сейчас, даже когда я добавил эту часть обратно.
Сайт, который я пытаюсь заставить работать, построен на WordPress. Внутри корневой папки этого сайта у меня есть файл.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, не помню), но попробовал это снова этим утром, и это сработало. Так что мои файлы по-прежнему выглядят так, как указано выше.
1 ответ
Попробуй отредактировать 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?