Answers.Body: <p>You can try installing the <a href="https://github.com/nystudio107/retour" rel="nofollow noreferrer">Retour plugin</a> to get a log of all of the 404 errors and their referrers, and potentially handle them via redirects.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-12-06T01:57:14.380Z
Answers.LastActivityDate: 2017-12-06T01:57:14.380Z
Answers.UserDisplayName: andrew.welch
Answers.Body: <p>A 404 is just someone/something requesting a resources (path, image, JS file, CSS file, etc.) that your web server and Craft cannot resolve on your site.</p>
  
  <p>If this is on a publicly facing website, there's about a 99.99% chance it's just some script/bot probing different URLs for various endpoints to execute known exploits.  It's extremely common on any public facing website.</p>
  
  <p>If you look in your actual <code>craft/storage/runtime/logs</code> files instead of the log viewer in the Control Panel, you'll see the same 404's being logged along with the <code>REQUEST_URI</code>.  That will show the non-existent path/resource that was requested.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-30T13:35:01.507Z
Answers.Text: Thanks, Brad. Looking through the logs in 'craft/storage/runtime/logs' was a helpful recommendation and - you're right - the site is getting hit by a ton of bots (it was previously hosted by WordPress but I moved it over to Craft) and then I think a lot of podcast apps are hitting a non-existant .xml file (client uses FeedBurner now but used to host their podcast XML locally).
Answers.UserDisplayName: portnoy-the-elder
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-29T19:19:20.020Z
Answers.LastActivityDate: 2017-11-29T19:19:20.020Z
Answers.UserDisplayName: Brad Bell
Answers.Body: <p>The Error is thrown here </p>
  
  <pre><code>public function actionRender($template, array $variables = array())
  {
      // Does that template exist?
      if (craft()-&gt;templates-&gt;doesTemplateExist($template))
      {
          $this-&gt;renderTemplate($template, $variables);
      }
      else
      {
          throw new HttpException(404);
      }
  }
  </code></pre>
  
  <p>Maybe you are trying to render a template that does not exist? 
  Are you not in dev mode and don't have a homepage template so it tries to redirect again and again? Or maybe the same issue with an error template? Do you have a <code>{% redirect %}</code> in your templates?</p>
  
  <p>Edit: or maybe you deleted some files? You could output the $template variable in the controller in order to see which template causes the error</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-11-29T16:27:48.523Z
Answers.LastActivityDate: 2017-11-29T16:27:48.523Z
Answers.UserDisplayName: Robin Schambach
Body: <p>My log is getting hammered nonstop by the same error about every second (see image). Any idea what's going on here?</p>
  
  <p>Text is:</p>
  
  <pre><code>Level       error
  Category    exception.Craft\HttpException.404
  Message     Craft\HttpException in /home/folder/public_html/craft/app/controllers/TemplatesController.php:72
  </code></pre>
  
  <p><a href="https://i.sstatic.net/w4fRl.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/w4fRl.png" alt="Image here"></a></p>
  
Tags: <error-message><logs>
Title: Constant exception.Craft\HttpException.404 in logs
ThreadText: # Constant exception.Craft\HttpException.404 in logs
  
  (Asked by: username_0 on 2017-11-29)
  
  My log is getting hammered nonstop by the same error about every second (see image). Any idea what's going on here?
  
  Text is:
  
  ```
  Level       error
  Category    exception.Craft\HttpException.404
  Message     Craft\HttpException in /home/folder/public_html/craft/app/controllers/TemplatesController.php:72
  
  ```
  
  [![Image here](https://i.sstatic.net/w4fRl.png)](https://i.sstatic.net/w4fRl.png)
  
  **Tags:** error-message, logs
  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2017-12-06. Score: 2
  
  You can try installing the [Retour plugin](https://github.com/nystudio107/retour) to get a log of all of the 404 errors and their referrers, and potentially handle them via redirects.
  
  
  ---
  
  ### Answer by username_2 on 2017-11-29. Score: 0
  
  A 404 is just someone/something requesting a resources (path, image, JS file, CSS file, etc.) that your web server and Craft cannot resolve on your site.
  
  If this is on a publicly facing website, there's about a 99.99% chance it's just some script/bot probing different URLs for various endpoints to execute known exploits. It's extremely common on any public facing website.
  
  If you look in your actual `craft/storage/runtime/logs` files instead of the log viewer in the Control Panel, you'll see the same 404's being logged along with the `REQUEST_URI`. That will show the non-existent path/resource that was requested.
  
  > **Comments:**
  > **username_0**: Thanks, username_2. Looking through the logs in 'craft/storage/runtime/logs' was a helpful recommendation and - you're right - the site is getting hit by a ton of bots (it was previously hosted by WordPress but I moved it over to Craft) and then I think a lot of podcast apps are hitting a non-existant .xml file (client uses FeedBurner now but used to host their podcast XML locally).  
  
  ---
  
  ### Answer by username_3 on 2017-11-29. Score: 0
  
  The Error is thrown here
  
  ```
  public function actionRender($template, array $variables = array())
  {
      // Does that template exist?
      if (craft()->templates->doesTemplateExist($template))
      {
          $this->renderTemplate($template, $variables);
      }
      else
      {
          throw new HttpException(404);
      }
  }
  
  ```
  
  Maybe you are trying to render a template that does not exist?
  Are you not in dev mode and don't have a homepage template so it tries to redirect again and again? Or maybe the same issue with an error template? Do you have a `{% redirect %}` in your templates?
  
  Edit: or maybe you deleted some files? You could output the $template variable in the controller in order to see which template causes the error
  
  
  ---
  
  