我正在尝试在我的本地主机服务器上运行 cgi。
首先,我添加了虚拟本地主机。
我有 conf 文件/etc/apache2/sites-available/myage.com.conf
这是这个文件的内容。

<VirtualHost *:80>
        ServerName mypage.com
        ServerAlias www.mypage.com
        ServerAdmin [email protected]
        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.

最佳答案

将您声明的 ScriptAlias<Directory>...</Directory> 指令放在 VirtualHost 标记块内;您的上述文件目前已将它们声明为服务器范围内,因为它们在它之外。
ScriptAlias 重叠警告是由于 ScriptAlias /cgi-bin/ 在 Apache 启动时已经在配置文件中早先在服务器范围内声明的。

关于php - Alias 指令可能永远不会匹配,因为它与之前的 Alias 重叠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27978920/

10-09 08:13