Ошибки Wordpress 403/404: у вас нет прав доступа к /wp-admin/themes.php на этом сервере - PullRequest
7 голосов
/ 07 мая 2010

Немного предыстории:

Я установил шесть блогов на этой неделе, все с использованием Wordpress 2.92, установленного с Fantastico на план детского крокодила с Hostgator.

Я использовал ту же тему (heatmap 2.5.4) и плагины для каждого блога.

Все они были в рабочем состоянии, никаких проблем вообще нет.

Я собираюсь создать новый блог сегодня утром, используя ту же настройку, и когда япопробуйте изменить настройки темы, я получаю следующую ошибку:

Forbidden

You don't have permission to access /wp-admin/themes.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8n DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at http://www.mydomain.com Port 80

Я попытался удалить WP и выполнить чистую установку, но та же проблема с чистой установкой.

Итак, я пошелназад и проверил шесть других блогов, которые я настроил за последнюю неделю или около того, и теперь они также выдают мне 403 или 404 ошибки при попытке изменить настройки темы, и каждый раз, когда возникает ошибка, это указывает либо на themes.php, либо на функции.php

На данный момент я в своем уме, пытаясь выяснить, в чем проблема.Служба поддержки Hostgator посмотрела на него и подумала, что, возможно, это проблема с разрешениями, но они сбросили их, и у меня все еще есть проблема.

Сначала я подумал, что проблема может быть связана с плагином, который я недавно установил напредыдущими шестью блогами того утра (плагин ByREV Fix Missed Shedule), чтобы исправить ошибку пропущенного расписания в WP 2.92, и, возможно, это все испортило.Но затем я проверил блог, который построил несколько месяцев назад, также используя ту же тему и плагины, и теперь он тоже сталкивается с той же проблемой.

Есть идеи?Я попытался удалить свой htaccess, загрузить пустой файл, загрузить его с помощью этого фрагмента, который я нашел на форуме hostgator:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Ничего не помогло.Я все еще получаю 403 или 404 ошибки каждый раз.Вчера все работало отлично, поэтому я знаю, что эта установка работает, я просто что-то испортил и не знаю, что это такое.

Я прочитал соответствующую ветку здесь и попытался выполнить chmoding папку wp-contentдо 0755 и до сих пор с проблемой.

Есть мысли?Спасибо!

Ответы [ 8 ]

21 голосов
/ 29 января 2012

Несколько лет спустя, но у меня есть решение для самой последней версии WordPress, которая имеет такую ​​же проблему (файлы .htaccess, сгенерированные WordPress, ломают сайты, перезапускаясь в 403 Запрещенных сообщениях об ошибках). Вот как это выглядит при создании WordPress:

# 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

Проблема в том, что условие не работает. Он не работает, потому что модуль, который он ищет, не .c, а .so. Я думаю, что это проблема, связанная с платформой или конфигурацией, когда установки Mac OS и Lunix Apache настроены для .so AKA 'shared-object' модулей. Поиск модуля .c не должен нарушать условия, я думаю, что это ошибка, но это проблема.

Просто измените mod_rewrite.c на mod_rewrite.so и все готово!

# BEGIN WordPress
<IfModule mod_rewrite.so>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
3 голосов
/ 07 марта 2011

Мы нашли ответ на техническую помощь ... это проблема, вот в чем проблема ...

http://www.techieshelp.com/you-don%E2%80%99t-have-permission-to-access-wp-adminpost-php-on-this-server/

2 голосов
/ 07 мая 2010

Просто чтобы продолжить, проблема решена!Я упомянул настройки mod_sec для моего сервера как возможного виновника, как и предлагалось, и они смогли решить эту проблему.Вот что сказал технический агент, чтобы сообщить им, когда вы обратитесь в службу поддержки:

Просто дайте им знать, что вам нужно правило 340163, внесенное в белый список для domain.com, поскольку оно соответствует правилу mod_sec.

Очевидно, вам нужно будет сделать это для каждого домена, в котором возникла проблема, но это работает.Спасибо всем за предложения!

1 голос
/ 07 мая 2010

Тебе повезло, приятель ... У меня была та же проблема, но у меня было больше технических знаний по этому вопросу, и я смог определить, что это проблема mod_sec, которую hostgator должен исправить / белый список самостоятельно. Вы не можете сделать это самостоятельно. Просто попросите специалиста hostgator проверить настройки mod_sec на вашем сервере.

Наслаждайтесь исправленной проблемой; D

0 голосов
/ 30 мая 2014

У меня была такая же проблема, но ничего из вышеперечисленного не помогло ... попробуйте действительно простое решение ...

Сделайте резервную копию вашего файла .htaccess. Удалите его из корневого каталога. Затем попробуйте получить доступ к этим каталогам. Вполне вероятно, что любые условия перезаписи, которые вы имели в вашем файле, вызывали эти проблемы с доступом. Индексная страница должна автоматически выбираться на большинстве хостов. : P

0 голосов
/ 29 мая 2010

Надеюсь, что люди найдут этот ответ, так как в Интернете есть много, много сообщений об этом. Многие люди предположили, что это проблема .htaccess, и для меня это было. Однако я искал в корне .htaccess, а не в .htaccess в папке wp-admin. Обычно я работаю на этом сайте, в частности, через терминальные службы, поэтому, когда он загрузился и я не смог войти в систему, я пытался получить к нему доступ с домашнего компьютера (и его IP).

Глупый я забыл ограничение IP, которое я поместил в файл wp-admin .htaccess.

AuthName "Protected"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 11.11.11.11
</Limit> 

Если у вас есть что-то подобное в ваших файлах wp-admin .htaccess, это легко объяснит, почему все сайты, на которых вы работаете, перестали работать одновременно. Интернет-провайдеры иногда меняют IP-адреса, так что никто не запускает сервер из дома, не заплатив за него.

0 голосов
/ 07 мая 2010

Первая ошибка, которую вы получаете - права доступа - является наиболее показательной. Поднимите wp-content и wp-admin на 777 и попробуйте, и если это сработает, измените их обратно на 755 и посмотрите, работает ли он по-прежнему. Что вы используете для изменения прав доступа к папке? FTP-клиент?

0 голосов
/ 07 мая 2010

Вы пробовали:

<Directory /path/to/your/wp-admin>
Order allow,deny
Allow from all
</Directory>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...