【发布时间】:2013-10-30 09:09:50
【问题描述】:
我正面临一个奇怪的情况。对于一个网站,一些 cronjobs 正在执行。到目前为止,这一切都运作良好;当我尝试执行 cronjob 时,我没有得到任何结果。由于某种原因,.htaccess 会识别 URL,试图将其放入带有错误 $_GET 参数的站点。第二个参数是 500。当我尝试访问一个不存在的文件时,第二个参数变为 404。所以我认为这些必须是 http 响应代码。
当使用 Chrome 的网络检查器时,我看到一个 - 应该是 - 工作 cronjob 的结果是一个 http 500。我一无所知......有没有什么方法可能是由其他人设置的,偶然的,也许是由ISP在php.ini或httpd.conf某处我能看吗?
结构是http://www.domain.com/CronJobs/file.php。我发现它只发生在CronJobs 文件夹中的文件上。 Cronjobs 应该使用wget 执行。
-- 加法
如果有帮助的话,.htaccess 中用于请求的规则是:
RewriteCond %{REQUEST_URI} !^(.*)FCKEditor(.*)$
RewriteRule ^(.*).html$ /index.php?pageId=LandingPage&Alias=$1 [L]
显然不应该使用任何规则,服务器应该只提供所请求的 PHP 文件。
-- 第二次加法
我还尝试清空 .htaccess 文件,然后请求 cronjob。我仍然收到错误 500。只是这一次是从 PHP 文件本身提供的,而不是从 index.php(由原始 .htaccess 内容使用)提供的。
【问题讨论】:
-
CrobJobs 文件夹中是否有 .htaccess?
-
不,没有。也没有。
-
文档根目录下的 htaccess 文件中有什么内容?
-
你需要检查你的服务器日志,500表示服务器内部错误,你的php代码有问题。
-
@ChristopherMorrissey,实际上不可能;使用的测试文件只包含纯文本
hello。这也导致了错误 500。