wget 无法与本地机器上的域一起使用

wget 无法与本地机器上的域一起使用

基本上 - 我有一些需要作为 cron 作业运行的 PHP 脚本。

假设需要运行的脚本是:http://admin.somedomain.com/cron_jobs/get_stats

如果我从本地机器运行该脚本,它会给出 404 Not Found 错误。

因此我在 /etc/hosts 中输入了以下内容

XX.XX.XX.45    admin.somedomain.com

现在 wget 可以从本地计算机正常访问该域。但是当我重新启动 Apache 时,该域不再起作用。以下是 /etc/apache2/sites-available 中该站点的配置

NameVirtualHost XX.XX.XX.45:80

<VirtualHost XX.XX.XX.45:80>
    ServerName admin.somedomain.com
     DocumentRoot /var/www/admin.somedomain.com/
    <Directory "/var/www/admin.somedomain.com">
            allowoverride all
          Options Indexes
          order deny,allow
           allow from all
       </Directory>
    ErrorLog /var/log/apache2/admin.somedomain.com-error_log
    CustomLog /var/log/apache2/admin.somedomain.com-access_log combined

</VirtualHost>

它只是转到显示“它有效”的默认站点配置。

如果我删除 /etc/hosts 中的设置并重新启动 apache,该域名的网站就可以再次正常运行。

有人能给我指明正确的方向吗?谢谢

答案1

尝试wget --header="Host: admin.somedomain.com" http://localhost/cron_jobs/get_stats(这是一行。)

答案2

尝试一下httpd -S,应该会列出所有已配置的虚拟主机,包括您的虚拟主机。还要验证您的目录“/var/www/admin.somedomain.com/”是否存在,并查看日志并查看它们的内容...

答案3

您是否出于某些原因需要通过 Apache 运行脚本,由 HTTP 客户端触发?直接从 cron 运行它们怎么样?

0 4 * * * /usr/bin/php /path/to/script

相关内容