drupal 7 on iis 7 403 and 404 pages not working remotely

Posted on

drupal 7 on iis 7 403 and 404 pages not working remotely – Managing your servers can streamline the performance of your team by allowing them to complete complex tasks faster. Plus, it can enable them to detect problems early on before they get out of hand and compromise your business. As a result, the risk of experiencing operational setbacks is drastically lower.

But the only way to make the most of your server management is to perform it correctly. And to help you do so, this article will share nine tips on improving your server management and fix some problem about windows, windows-server-2008, iis, iis-7, drupal.

Very new to IIS 7, so apologies if this is a simple one.

I’ve installed Drupal 7 using the Webstart installer on Windows Server 2008 R2. Drupal makes it’s own custom 404 and 403 error pages. When I open up Internet Explorer on the server and test these, they work fine.

However, from a remote machine:

  • Testing what should return a custom 404 page (that is the page doesn’t exist), I get a blank page in Firefox, and IE shows a 403 “The website declined to show this webpage” when friendly error messages are turned on, and a blank page when they are turned off.
  • Testing what should return a custom 403 page (by visiting the admin area with a non-authenticated user) returns a “Server Error. 403 – Forbidden: Access is denied.
    ” in the IIS style.

I’m guessing this is a permissions problem, but I can’t find anything to change.

Any ideas?



Solution :

The problem is with IIS web.config file for your site.

This article helped me overcome the issue: http://www.evanclosson.com/devlog/iis7httperrorsconfigurationonlockdown.

Have a read for this post on drupal groups: http://groups.drupal.org/node/25421

Otherwise you can use my config file below.

<?xml version="1.0" encoding="UTF-8"?>
  <!-- Don't show directory listings for URLs which map to a directory. -->
    <directoryBrowse enabled="false" />
        <rule name="Protect files and directories from prying eyes" stopProcessing="true">
          <match url=".(engine|inc|info|install|module|profile|test|po|sh|.sql|postinst.1|theme|tpl(.php)?|xtmpl|svn-base)$|^(code-style.pl|Entries.|Repository|Root|Tag|Template|all-wcprops|entries|format)$" />
          <action type="CustomResponse" statusCode="403" subStatusCode="0" statusReason="Forbidden" statusDescription="Access is forbidden." />
        <rule name="Force simple error message for requests for non-existent favicon.ico" stopProcessing="true">
          <match url="favicon.ico" />
          <action type="CustomResponse" statusCode="404" subStatusCode="1" statusReason="File Not Found" statusDescription="The requested file favicon.ico was not found" />
        <!-- Rewrite URLs of the form 'x' to the form 'index.php?q=x'. -->
        <rule name="Short URLS" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions logicalGrouping="MatchAll">
              <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
              <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
          <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
      <remove statusCode="403" subStatusCode="-1" />
      <error statusCode="403" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
      <!-- Set the default document -->
        <remove value="index.php" />
        <add value="index.php" />

Leave a Reply

Your email address will not be published.