Назад | Перейти на главную страницу

Apache: проблема с .profile в URL-адресе

Я использую систему единого входа Google Apps для аутентификации пользователей на всех моих сайтах WordPress. В процессе аутентификации Google возвращает несколько параметров для данного URL-адреса, и один из параметров - объем который состоит из https://www.googleapis.com/auth/userinfo.profile объем.

По умолчанию wordpress полагается на apache для SEO-дружественных URL / постоянных ссылок. Теперь, когда Google перенаправляет меня на https://example.com/wp-login.php?state=###&code=###&scope=https://www.googleapis.com/auth/userinfo.profile+https://www.googleapis.com/auth/plus.me+https://www.googleapis.com/auth/userinfo.email сервер (apache) дает мне Ошибка 404. После некоторых проб и ошибок я узнал, удаляю ли я .профиль с URL-адреса или просто удалите . (точка) перенаправление / поведение происходит, как ожидалось.

Я не эксперт по Apache, поэтому я хочу понять это поведение и как я могу решить эту проблему в глобальном масштабе.

--- Редактировать ---

.htaccess файл в локальной области

# 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

Насколько я понимаю, если файл / каталог, указанный в URL-адресе, не существует, запрос передается в WordPress. index.php для обработки.

@MrWhite: Чтобы ответить на ваш вопрос, из URL-адреса, который я упомянул выше wp-login.php файл существует, но apache все еще передает запрос в index.php WordPress, возвращающий ошибку 404.

Использование фильтров, если я изменил URL-адрес с example.com/wp-login.php к example.com/login Я получаю ошибку 403.

Но если я удалю . (точка) в URL-адресе перед ключевым словом профиля все работает, как ожидалось.

- редактировать 2 -

Я узнал, что это происходит из-за правила mod_security для ограничения доступа к файлам ОС. https://github.com/SpiderLabs/owasp-modsecurity-crs/blob/c06e2f5f7efa1c24f18ddf9a3298e3db4cdfeaac/rules/restricted-files.data#L34 Я понимаю, что это необходимое правило, но как разрешить mod_security https://www.googleapis.com/auth/userinfo.profile в аргументах URL (только этот URL)?