Я пытаюсь настроить awstats таким образом, чтобы у меня был сайт, который не прошел аутентификацию, и другой сайт, который аутентифицирован. Более конкретно
домен / awstats / awstats.pl? config =Икс не должен быть аутентифицированным
домен / awstats / awstats.pl? config =Y должно быть аутентифицированный
после долгих поисков я не нашел никакого решения из-за того, что это связано со строкой запроса.
Вне всяких сомнений, вот один из способов, которым вы могли бы это сделать. Начните с добавления awstats
на виртуальном хосте, который слушает только localhost ...
<VirtualHost 127.0.0.1:8080>
...
</VirtualHost>
Внутри этот виртуальный хост, включая RewriteRules
которые переводят URL-адреса на основе пути в соответствующие строки запроса:
RewriteRule /awstats/config/(.*) /awstats/awstats.pl?config=$1
Имея это на месте, вы можете получить доступ:
/awstats/awstats.pl?config=X
С помощью:
/awstats/config/X
Но учтите, что на данный момент все это доступно только через localhost
. Мы еще не установили внешнюю связь. Для этого мы собираемся поставить <Location>
блоки в конфигурации вашего основного сервера, которые будут:
Как это:
<Location /awstats/config/X>
ProxyPass http://localhost:8080/awstats/config/X
</Location>
<Location /awstats/config/Y>
AuthType Basic
AuthName "awstats X"
AuthBasicProvider file
AuthUserFile /path/to/htpasswd
require valid-user
ProxyPass http://localhost:8080/awstats/config/Y
</Location>
Это все нестандартно, поэтому вполне возможно, что здесь есть некоторые ошибки, но основная идея правильная.