Директива Alias, вероятно, никогда не совпадет, потому что она перекрывает более ранний Alias

Я пытаюсь заставить CGI работать на моем локальном сервере.
Во-первых, я должен добавить виртуальный локальный хост.
У меня есть файл конфигурации /etc/apache2/sites-available/myage.com.conf
Вот содержание этого файла.

<VirtualHost *:80>
ServerName mypage.com
ServerAlias www.mypage.com
ServerAdmin admin@mypage.com
DocumentRoot /var/www/mypage.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
ScriptAlias /cgi-bin/ /var/www/mypage.com/cgi-bin/
<Directory "/var/www/mypage.com/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

И я получаю сообщение об ошибке при перезапуске службы apache2

 [Fri Jan 16 09:06:12.422793 2015] [alias:warn] [pid 12733] AH00671: The ScriptAlias directive in /etc/apache2/sites-enabled/mypage.com.conf at line 31 will probably never match because it overlaps an earlier ScriptAlias.

3

Решение

Поместите ScriptAlias а также <Directory>...</Directory> директивы, которые вы объявили, внутри из VirtualHost блок тегов; в приведенном выше файле в настоящее время они объявлены как общесерверные, поскольку они находятся за его пределами.

ScriptAlias перекрывающееся предупреждение вызывается ScriptAlias /cgi-bin/ уже объявляется общесерверным ранее в файле конфигурации при запуске Apache.

4

Другие решения

Других решений пока нет …