Вопрос:

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

wordpress .htaccess http-status-code-404

140779 просмотра

9 ответа

58 Репутация автора

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

Я установил шесть блогов на этой неделе, все с использованием 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 ошибки при попытке изменить настройки темы, и каждый раз, когда возникает ошибка, она указывает на любую из тем. php или functions.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 ошибки каждый раз. Вчера все работало идеально, поэтому я знаю, что эта установка работает, я просто что-то испортил и не знаю, что это.

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

Какие-нибудь мысли? Спасибо!

Автор: Glen Источник Размещён: 07.05.2010 12:44

Ответы (9)


0 плюса

27778 Репутация автора

Ты пробовал:

<Directory /path/to/your/wp-admin>
Order allow,deny
Allow from all
</Directory>
Автор: Mitch Dempsey Размещён: 07.05.2010 12:47

0 плюса

14888 Репутация автора

Решение

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

Автор: markratledge Размещён: 07.05.2010 01:07

1 плюс

11 Репутация автора

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

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

Автор: Tony Размещён: 07.05.2010 05:58

2 плюса

58 Репутация автора

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

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

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

Автор: Glen Размещён: 07.05.2010 04:20

0 плюса

1 Репутация автора

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

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

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

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

Автор: Buck Rackley Размещён: 29.05.2010 02:43

3 плюса

31 Репутация автора

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

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

Автор: allen white Размещён: 07.03.2011 11:08

21 плюса

2537 Репутация автора

Несколько лет спустя, но у меня есть решение для самой последней версии WordPress, в которой есть такая же проблема (генерируемые WordPress файлы .htaccess ломают сайты, перезапускаясь в 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
Автор: Dakota Размещён: 29.01.2012 12:56

0 плюса

6168 Репутация автора

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

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

Автор: Alexandru Размещён: 30.05.2014 01:17

0 плюса

399 Репутация автора

Попробуйте отключить ModSecurity на вашей cPanel. Войдите в свою cPanel. Найдите категорию «Безопасность». Там вы можете найти ссылку ModSecurity. Нажмите на нее и отключите для домена, с которым вы столкнулись с ошибкой 403.

С помощью этого метода также можно устранить некоторые ошибки 403. Перейдите на панель управления WordPress, настройки> Постоянная ссылка и просто нажмите Сохранить.

Надеюсь, это помогло. :)

Автор: Nimesh Nishara Indimagedara Размещён: 17.07.2019 08:05
Вопросы из категории :
32x32