Wordpress: файл .htaccess и правила перезаписи: страницы пользовательского типа сообщений (CPT) возвращаются с ошибками Apache

Ответить
Anonymous
 Wordpress: файл .htaccess и правила перезаписи: страницы пользовательского типа сообщений (CPT) возвращаются с ошибками

Сообщение Anonymous »

хотя многие говорят: CPT не предъявляют необычных или специфических требований к серверному оборудованию - я думаю, что для большинства случаев использования достаточно стандартного хостинга WordPress,
у меня вопрос: каковы условия - которые вы считаете наиболее важными!?
Кстати; относительно среды PHP и условия: я предполагаю, что мы обеспечиваем, чтобы на сервере работала последняя поддерживаемая версия PHP для оптимальной производительности и безопасности.
Что касается перезаписи URL-адресов (Постоянные ссылки): CPT используют правила перезаписи WordPress для создания чистых, удобных для пользователя URL-адресов (постоянных ссылок), например, на my_site.com.
Условие: Веб-сервер (обычно Apache или Nginx) должен быть настроен для правильной обработки файла WordPress .htaccess или эквивалентных правил перезаписи. Если страницы CPT возвращаются 404, это часто указывает на проблему с перезаписью конфигурации на стороне сервера, которую обычно можно исправить, просто повторно сохранив настройки постоянной ссылки в области администрирования WordPress.
Что делать, если созданные URL-адреса https://www.my_site.com/cpt/addsmart/
https://www.my_site.com/cpt/ недоступны (!)!
ну поверьте мне: поведение забавное.
оба URL-адреса https://www.my_site.com/cpt/addsmart/
https://www.my_site.com/cpt/ оба выдают отказ в доступе
кстати: я написал следующее в файл .htaccess
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

но я думаю, что это не обработано - из-за некоторых проблем с конфигурацией.
обновление: посмотрите еще немного информации
и посмотрите это - что я добавил в .htaccess
Permalink-Struktur: Plain
WordPress does not create any Rewrite-Regeln
all the "pretty URLs" run over:
mod_rewrite (Apache) or
Nginx Rewrite Rules

but well my server Server says:

❌ „these URLs could not be executed“

посмотрите некоторые сведения о конфигурации:
вывод: PHP и Apache построены правильно, mod_rewrite, похоже, загружен
Команда настройки:
'./configure' '--prefix=/usr/local/php-8.4.14' '--with-apxs2=/usr/local/apache/bin/apxs' '--without-snmp' '--disable-ipv6' '--enable-sigchild' '--with-pear' '--with-mysql-sock=/var/run/mysql/mysql.sock' '--enable-calendar' '--with-zlib' '--enable-mbstring' '--with-pdo-mysql' '--with-mysqli' '--disable-mbregex' '--with-openssl=/usr/local/' '--enable-shmop' '--enable-sysvshm' '--with-pdo-sqlite' '--enable-gd' '--with-mm=/usr/local/mm/' 'OPENSSL_CFLAGS=-I/usr/local/include' 'OPENSSL_LIBS=-L/usr/local/lib -lssl -lcrypto' '--with-openssl-argon2' '--enable-static=NO' '--with-curl=/usr/local/' 'CFLAGS= -O2 -march=native -Wno-erro '
Загруженные модули:
'http_core mod_authn_file mod_authn_dbm mod_authn_socache mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_core mod_access_compat mod_auth_basic mod_auth_digest mod_socache_shmcb mod_watchdog mod_ratelimit mod_reqtimeout mod_filter mod_deflate mod_mime mod_log_config mod_env mod_mime_magic mod_expires mod_headers mod_usertrack mod_setenvif mod_version mod_session mod_session_cookie mod_ssl prefork mod_unixd mod_autoindex mod_dir mod_alias mod_rewrite mod_php'
обновление 2 ну и еще несколько замечаний:
mod_rewrite ✔ loaded
WordPress Plain-Links ✔ running well
Pretty Permalinks ❌ 403
Theme - tt3 tt4 tt5 - each time the same behavior
Plugins - they do not play a vital role
Кажется, это единственное, чего не хватает:
❌ Apache blocks .htaccess or the Paths
ну хм - это может означать:
случай 1: AllowOverride None
Apache не читает .htaccess, хотя файл существует.
пример - проблематично:

AllowOverride None


➡️ WordPress не может активировать некоторые (любые) правила перезаписи
➡️ Apache отвечает 403 «Доступ запрещен»
случай 2: ограничительные или -правила
для примера

Require all denied

или:
Require all denied
➡️ были видны только явно разрешенные файлы (index.php?p=123)
➡️ виртуальные пути (/my_slug/) были заблокированы
и – еще немного информации:
Почему отображается ?p=123 (важный момент – !!)
?p=123:
будет передан непосредственно index.php — он «передан» index.php
no Rewrite
нет проверки пути
/my_slug/:
Проверки Apache:
а. может ли этот путь быть «Истинным» - может ли этот путь существовать?
b. есть ли какие-нибудь правила?
разрешено ли .htaccess здесь "делать что-нибудь"?
👉 и именно здесь появляется ошибка 403....
ну - мне нужно это исправить - мне обязательно нужно это "исправить", и мне нужно избавиться от этих проблем
Диагноз (окончательный):
Ваш сервер блокирует все «URL-адреса на основе путей» (/foo, /edih/, /sample-post/) на уровне Apache до того, как WordPress примет меры.

+------------------------+-----------------+------------------------------------+

| Test | result | meaning |

+------------------------+-----------------+------------------------------------+

| /?p=POST_ID | ✔ visible | PHP + WordPress OK |

| /permalink-test/ | ❌ Access denied | Rewrite-URLs blocked |

| /this-should-not-exist | ❌ Access denied | Apache blockt Patgs |

| /wp-content/ | blank | Directory Listing deaktiviert (ok)|

| /wp-includes/ | ❌ Forbidden | closed (normal) |

| /rewritetest.php | ❌ Access denied | critical |

+------------------------+-----------------+------------------------------------+



Подробнее здесь: https://stackoverflow.com/questions/798 ... ges-return
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Apache»