wget不能在本地机器上使用域名

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

可以说,需要运行的脚本是: http : //admin.somedomain.com/cron_jobs/get_stats

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

所以我在/ etc / hosts中input了以下内容

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

现在wget从本地机器正常工作到该域。 但是,当我重新启动Apache该域名不再起作用。 这是/ etc / apache2 / sites-available中该站点的configuration

 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> 

它只是去显示“It Works”的默认网站configuration。

如果我在/ etc / hosts中取出该设置并重新启动apache,该域中的网站再次正常工作。

任何人都可以在这里指出正确的方向吗? 谢谢

尝试httpd -S应该给你列出所有configuration的虚拟主机,包括你的。 同时validation您的目录“/var/www/admin.somedomain.com/”是否存在,并查看日志,看看他们在说什么…

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

是否有某些原因需要通过Apache运行脚本,由HTTP客户端触发? 那么直接从cron运行它们呢?

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