iis iis-7 coldfusion http-status-code-404 coldfusion-10

No se puede obtener IIS 7/Coldfusion para entregar 404



iis-7 http-status-code-404 (1)

Entonces ... tenemos un CMS personalizado. Tenemos una regla de reescritura que dice que cualquier solicitud de página (cuando un archivo no existe) va al archivo raíz / index.cfm. Allí buscamos nuestra base de datos para la página en cuestión. Si la página existe, servimos la plantilla correcta, etc. Si la página no existe, quiero instalar una página 404 en el servidor. Ahora "pienso" que no puedo hacer esto en IIS ya que necesito manejar la solicitud en CF, así que tiene que pasar. El archivo siempre existirá Cuando la página no existe he intentado usar <cfheader statusCode="404" > y luego <cfheader statusCode="404" > algunos html, puts. The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. en la parte superior de la página antes de mi html. Para que muestre la página, tuve que eliminar el controlador de código de estado 404 de IIS.

Además, cuando busco Google, obtiene un 301. Sin embargo, cuando veo los encabezados de respuesta en Firefox, aparece.

Transfer-Encoding: chunked Content-Type: text/html Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Wed, 16 Jan 2013 21:31:42 GMT 404 Not Found

Probé una combinación de redirigir y todo tipo de cosas. Abro para permitir que IIS maneje el 404, si hay una forma, pero no puedo entender cómo hacer que Coldfusion entregue correctamente un 404 para que Google lo haga bien. Las herramientas para webmasters se enojan conmigo porque estoy entregando "Soft 404s" antes de este punto, así que estoy tratando de arreglarlo.

También intenté configurar <httpErrors existingResponse="PassThrough" /> lo que sea que haga, pero tampoco funcionó. He estado buscando otros hilos tratando de resolver esto y simplemente no puedo.

EDITAR: Mirando más hacia esto, viendo la información del encabezado tanto en Firebug como en Chrome, veo claramente que los encabezados dicen 404. ¿Por qué buscar Fetch como Bing y Fetch como dice Google de manera diferente?

Probé el hecho de que si agrego .cfm a las URL, se busca, ya que Google entregará el número 404. Sin embargo, sin el .cfm, cree que es 301. Firebug ve ambos como 404. Esto parece un problema de Google.

RESPUESTA Tipo de:

Así que estaba haciendo más pruebas esta mañana (justo después de que agregué una recompensa en realidad), y noté que en las herramientas para webmasters, Google notó correctamente una de mis páginas como 404. Así que comencé a investigarla. Tengo una "Agregar regla de barra inclinada". Google advierte domain.com/page como un 301 (Correcto, supongo) a domain.com/page/ . Pero se nota domain.com/page/ como un 404. Creo que el uso de la regla de barra final como lo tengo es la manera correcta, sin embargo, ¿debería estar haciendo algo diferente, o está usando la redirección con la barra "correcta"? "La forma de hacer las cosas, a pesar de que Google me quiere a veces".


No estoy del todo seguro de seguir los detalles de su enfoque, así que le daré algunas cosas que debe observar para que este enfoque funcione bien (o al menos, lo que mejor me ha funcionado).

Debajo de "Páginas de error", asegúrese de que su página de error 404 esté configurada como "Ejecutar una URL en este sitio" (generalmente configuro la mía como "/404.cfm"). Esto asegurará que su página de ColdFusion se llame correctamente para 404 páginas (parece que esto funciona correctamente).

En "Asignaciones de controlador", haga doble clic en el controlador para ".cfm". Luego haga clic en el botón "Solicitar restricciones ...". Debería abrirse en la pestaña "mapeos". La casilla de verificación "Controlador de invocación solo si la solicitud se asigna a:" NO se debe marcar.

Esto realmente puede interferir con este tipo de operación porque significa que IIS no invocará ColdFusion si el archivo no existe. Esto no debería ser un problema si su 404 está configurado correctamente, pero todavía hay algo que investigar.

Mientras se encuentre en la sección "Asignación de controlador", busque el IsapiModule con una ruta de "*". El mío siempre está configurado en ColdFusion: no estoy seguro de si eso hace la diferencia o no.

La otra cosa a mirar es la configuración de "Documento predeterminado". Tenga en cuenta que esto podría afectarlo al reenviar a una carpeta.

También puede ver su regla de reescritura nuevamente y asegurarse de que no esté agregando barras cuando ya exista.