У меня чертовски много времени на то, чтобы Wordpress работал на моем хостинге. Когда я пытаюсь получить доступ к своему виртуальному хосту, я получаю сообщение «403 Forbidden. У вас нет разрешения на доступ / на этом сервере». error и ошибка «Cannot serve directory ...» в моем error_log (см. ниже). Почему я получаю сообщение «403 запрещено»? Я упускаю кое-что, надеюсь, очевидное для вас (естественно, не для меня). Спасибо за любую помощь.
Я установил минимальную установку Fedora 20 (т.е. без Gnome / KDE, но с большим количеством пакетов php [710], так что это не так уж и плохо). Затем я установил Apache, а затем установил Wordpress в соответствии с http://codex.wordpress.org/Installing_WordPress#Famous_5-Minute_Install . С тех пор я взламывал / etc / httpd, пытаясь найти проблему.
У меня Apache версии 2.4, php 5.5.18, Fedora 20 и Wordpress 4.0-1.
Я создал свой виртуальный хост в Apache, и вот ошибка в моем журнале ошибок (все в одной строке):
[Sat Nov 15 20:38:16.067198 2014] [autoindex:error] [pid 6745]
[client XX.XX.XX.XX:48419] AH01276: Cannot serve directory /usr/share/wordpress/:
No matching DirectoryIndex (index.html) found, and server-generated directory
index forbidden by Options directive
Я взламывал и взламывал файл httpd.conf и файл моего виртуального хоста (находится в /etc/httpd/conf.d/myhostname.conf) безрезультатно. Любые идеи? Я включаю (сокращенную) копию моего httpd.conf и файла conf моего виртуального хоста. Во-первых, виртуальный хост:
<VirtualHost *:80>
ServerName virtual1.myhost.com
ServerAlias virtual1
DocumentRoot /usr/share/wordpress
ErrorLog logs/virtual1_error
CustomLog logs/virtual1_access common
</VirtualHost>
<Directory />
Require all granted
AllowOverride None
<IfModule mod_rewrite.so>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
</Directory>
<Directory /usr/share/wordpress>
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Options FollowSymLinks
AllowOverride None
# <IfModule mod_authz_core.c>
# # Apache 2.4
# Require local
# </IfModule>
# <IfModule !mod_authz_core.c>
# # Apache 2.4
# Require all granted
# AllowOverride None
# </IfModule>
</Directory>
<Directory /usr/share/wordpress/wp-content/plugins/akismet>
<FilesMatch "\.(php|txt)$">
Require all granted
AllowOverride None
</FilesMatch>
</Directory>
Теперь httpd.conf:
#
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
<Directory />
AllowOverride none
Require all granted
</Directory>
DocumentRoot "/var/www/html"
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
<Directory "/var/www/html">
Require all granted
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
#
<Files ".ht*">
Require all denied
</Files>
ErrorLog "logs/error_log"
LogLevel warn
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" combined
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
</IfModule>
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule mime_module>
TypesConfig /etc/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
AddDefaultCharset UTF-8
<IfModule mime_magic_module>
MIMEMagicFile conf/magic
</IfModule>
EnableSendfile on
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.myhost.com
ServerAlias www
ServerAdmin root@myhost.com
DocumentRoot /var/www/html
ErrorLog logs/error_log
CustomLog logs/access_log common
</VirtualHost>
IncludeOptional conf.d/*.conf
Похоже, ты забыл DirectoryIndex
.
Это следует добавить в <VirtualHost>
обслуживает WordPress.
DirectoryIndex index.php
В журнале вы можете найти ошибку
[Вс, 03 декабря 17: 38: 17.649269 2017] [автоиндекс: ошибка] [pid 4806] [client :: 1: 57323] AH01276: Не удается обслужить каталог / etc / httpd / conf / htdocs /: Соответствующий DirectoryIndex () не найден, и созданный сервером индекс каталога запрещен директивой Options
Исправить это:-
тогда вы должны удалить строку в /etc/httpd/conf.d/welcome.conf
ниже существующей конфигурации: - <LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
решено с помощью приведенной ниже конфигурации: - закомментировал строку.
<LocationMatch "^/+$">
#Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>