RewriteRule создает 404 в журнале доступа SSL - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь получить несколько хороших URL.Я хочу использовать
https://sub.domain.edu/fs/7356
для
https://sub.domain.edu/fs/index.php?ind=7356

Мой .htaccess для этого каталога:
RewriteEngine On RewriteBase /fs/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?ind=$1 [L,QSA]

Страница работает нормальнов браузере.PHP скрипт работает.Все выглядит отлично.Но ssl_access_log показывает каждый доступ к странице как 404.

"GET / fs / 7356 HTTP / 1.1" 404 9241

Это будет только слегка раздражать, за исключением того, что logwatch помечает все эти 404 как возможно вредоносныезонды.Каждое утро я получаю по электронной почте сообщение о том, что десятки IP-адресов пытались исследовать сайт.Я попытался добавить R = 301 в RewriteRule, но он полностью перенаправляет на полный URL, который я пытаюсь избежать.

1 Ответ

0 голосов
/ 28 марта 2019

Мне пришлось сделать собственный формат журнала. В /etc/httpd/conf.d/ssl.conf я закомментировал запись, которая создала файл ssl_acess-log, и заменил его директивами LogFormat и Customlog.

#TransferLog logs/ssl_access_log LogFormat "%h %l %u %t \"%r\" %s %b" logwatchfix CustomLog logs/ssl_access_log logwatchfix

http://httpd.apache.org/docs/current/mod/mod_log_config.html

Это привело к почти идентичному выводу, так как оригинал за исключением того, что "%> s" заменен на "% s". Это работает вопреки моему пониманию документации.

"Статус% s. Для запросов, которые были внутренне перенаправлены, это статус исходного запроса. Используйте%> s для окончательного статуса."

Я бы подумал, что «статус исходного запроса» будет «404», а «окончательный статус» после перенаправления .htaccess будет «200». На практике, в моем случае, это сработало наоборот. Я также поместил аналогичные файлы .htaccess в другие каталоги, которые работали так же. Я установил индекс каталога в index.php вместо index.html в файле httpd.conf, но, похоже, это ничего не изменило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...